WCF - Part 3: Binding Comparison
Windows Communication Foundation (WCF) has various built-in bindings. System-provided bindings are used to specify the transport protocols, encoding, and security details required for clients and services to communicate with each other.
Although some of these values can be configured differently on certain bindings, the table shows the defaults for each type.
This post will briefly describe and summarize the key differences between WCF's built-in bindings.
Note: WCF also allows you to define your own custom bindings.
|
Class name |
Description |
Transport |
Message encoding |
Security |
|
BasicHttpBinding |
A binding that is suitable for communication with WS-Basic Profile conformant Web Services like ASMX-based services. This binding uses HTTP as the transport and Text/XML as the message encoding. |
HTTP
|
Text
|
None |
|
WSHttpBinding |
A secure and interoperable binding that is suitable for non-duplex service contracts. |
HTTP
|
Text
|
Message |
|
WSDualHttpBinding |
A secure and interoperable binding that is suitable for duplex service contracts or communication through SOAP intermediaries. |
HTTP
|
Text
|
Message |
|
WSFederationHttpBinding |
A secure and interoperable binding that supports the WS-Federation protocol, enabling organizations that are in a federation to efficiently authenticate and authorize users. |
HTTP
|
Text
|
Message |
|
NetTcpBinding |
A secure and optimized binding suitable for cross-machine communication between WCF applications |
TCP
|
Binary
|
Transport |
|
NetPeerTcpBinding |
A binding that enables secure, multi-machine communication. |
P2P
|
Binary
|
Transport |
|
NetNamedPipesBinding |
A secure, reliable, optimized binding that is suitable for on-machine communication between WCF applications. |
Named Pipes
|
Binary
|
Transport |
|
NetMsmqBinding |
A queued binding that is suitable for cross-machine communication between WCF applications. |
MSMQ
|
Binary
|
Message |
|
MsmqIntegrationBinding |
A binding that is suitable for cross-machine communication between a WCF application and existing MSMQ applications. |
MSMQ
|
doesn’t use a WCF message encoding – instead it lets you choose a pre-WCF serialization format |
Transport |