I’ve been doing a bit of WCF lately and picked up on a few things that will be helpful for me to remember. To speed large transfers switch the messageEncoding on the binding to be MTOM, otherwise your data will get base64 encoded inside the XML.
Streaming requires a MessageContract and not a DataContract
Streaming doesn’t work on wsHTTPbinding.
A MessageContract can only have one Member in the body (stream).