A question that boggles our mind and makes us think many times. Which binding should be used when? Let's throw some light on this.
- Case 1: Interaction with MSMQ
- Legacy MSMQ : msmqIntegrationBinding
- No Legacy MSMQ: netMsMqBinding
- Case 2: Interaction with Peers : netPeerTcpBinding
- Case 3: Interaction with local services: netNamedPipeBinding
- Case 4: Interoperability:
- Basic (with Legacy ASMX service): basicHttpBinding
- WS* Non Duplex - wsHttpBinding
- WS* Duplex - wsDualHttpBinding
- Other cases (no interoperability, no queuing, no peer): netTcpBinding
Hope this helps!