I need to create a WCF service (self-hosted inside a windows service) on an industrial intranet.
The problem is, this network is already fairly saturated, and thus a requirement is for there to be as low (network) overhead as possible.
I was wondering which type of WCF service would best suit my needs for this. Given that a “standard” WCF call has a soap envelope around an xml-serialization of my object, this is definitely not the way to go.
My own research leads me to believe that a WCF REST service with json serialization might be the best option. Can anyone confirm this, or give me pointers on how to improve on this?
The difference between XML SOAP and JSON, or HTTP and net.tcp will not make a very large difference on the network traffic.
SOAP and JASON is there for interoperability, using net.tcp will decrease overhead in the processing power, but it will not really change network overhead that much.
The more important thing you should be looking at is how frequent are requests being made to the WCF service. If you can batch your queries that is one very simple way to decrease your overhead.
(I am really suspicious of your claim that the network can not handle the additional load, how do you know it can’t handle it? Are you guessing or do you have measurements of the load on your network switches?)