Folks, yesterday after much reading and some experiments I discovered the hard way that I cannot transfer large byte blobs using streams. I'm told the size might reach about 20MB. My SAMS WCF book and some samples show how you return a Stream and write in chunks. However (I think?!) that cannot be done with a Silverlight client, and I found that the proxy generator converts the Stream into a byte[].
I could use sockets, but my WCF service would have to be enhanced to have a listener running in a thread. I don't want to make architectural changes like this if I can avoid it. What if I use a really pathetic bittorrent style approach and have a WCF method that takes large files in chunks via repeated method calls and reassembles them on the server side. The basic code would be simple, but before I write something weird like that I thought I'd run it up the forum's flagpole first. I would need a little bit of infrastructure on the server side to maintain a collection of incoming "torrents" and add the chunks to each one until it's complete. I'd also need a simple timeout lease to allow me discard an unfinished "torrent" if the client dies or leaves. I could probably knock the whole thing up in a couple of hours, but should I? Greg