In the context of the comment:
netTcpBinding been recognized as one of the faster options - of course, much faster than the Vanilla BasicHttpBinding / WS binding that has been verified. This is the only real need, since netTcpBinding used binary vs direct text, which was faster.
Firstly, I looked at this many, many times - and strangely enough, every time I test, netTcpBinding cannot completely be faster than the basic xml sentence. However, since performance is your goal, I have options ...
I am a bit biased (since I wrote it), but I highly recommend "protobuf-net" here; since it is designed according to the same idioms as most .NET serializers, it is fairly easy to swap, but it is faster (CPU) and less (bandwitdh) in every test I do for this, or checks what other people do . And since the protobuf format is an open specification, you donβt have to worry about the "Net" bindings being incompatible.
For MS.NET, I have direct WCF interceptors that can be used exclusively from the configuration , which gives it a breeze. I honestly don't know how well this will work with the Mono equivalent - I haven't tried it. This might work, but if not another option, just throw a byte[] or Stream over the network and worry about serializing (de) manually.
My preferred location here is basic-http binding with MTOM enabled, which gives you the simplicity and portability of the simplest xml binding, without the overhead of base 64 for binary data.
Marc gravell
source share