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!