I have a self-hosted WCF service (v4 framework) that is exposed through a HttpTransport-based custom binding. The binding uses a custom MessageEncoder
HttpTransport
MessageEncoder
Buffered: it needs to put the entire file in memory before uploading/downloading. this is approach is very useful for transferring small files, securely.
Streamed: the file can be transferred in the form of chunks.