Brief Summary on WCF Binding Options

Everyone knows WCF has its ABC;

  • Address (‘The Where’)
  • Binding (‘The How’)
  • Contract (‘The What’)

<?xml:namespace prefix = o />

About Binding, it describes:

  • The Transport
    • Any of these: HTTP, TCP, MSMQ, IPC, Custom
  • The Encoder
    • Any of these: Text, Binary, Custom
  • The Protocol A
    • Any of these: Security, RM, TX, .NET, Custom

Today, for various bindings one uses various programming model (System.Web.Services, System.Runtime.Remoting, System.Messaging, System.EnterpriseServices). Changing one programming model to another is considered overhaul of the service interface. In WCF System.ServiceModel, changing one binding to another binding is just a matter of configuration. Here are the available binding options one can use (use which one suits one’s scenario):

  • BasicHttpBinding
    • Binding to communicate with Web Services that conforms to WS-I Basic Profile 1.1 (such as ASMX Web Services)
    • WS-I 1.1
    • Transport Security
  • WsHttpBinding
    • Secure & WS interoperable binding for non duplex service contracts
    • Web Services to Web Services
    • Transport Security, WS-Security, Session, Transactions
  • WsDualHttpBinding
    • Secure & interoperable binding for duplex service contracts or for communication thru SOAP intermediaries
    • Web Services to Web Services
    • Transport Security, WS-Security, Session, Transactions, Duplex
  • NetTcpBinding
    • Secure, Reliable binding for cross-machine communication
    • .NET to .NET
    • Transport Security, WS-Security, Session, Transactions, Duplex, One-way streaming
  • NetNamedPipesBinding
    • Secure, Reliable binding for on-machine communication
    • .NET to .NET
    • Transport Security, WS-Security, Session, Transactions, Duplex, One-way streaming
  • NetMsmqBinding
    • Queued binding for cross-machine communication
    • .NET to .NET
    • Transport Security, WS-Security, Session, Transactions
  • NetPeerTcpBinding
    • Secure binding for peer-to-peer network applications
    • .NET to .NET
    • Transport Security, WS-Security, Duplex