In my ongoing quest to produce the simplest table possible summarizing the key differences between the various Windows Communication Foundation (WCF) built-in bindings, I came up with the following:
|
Binding Class Name
|
Transport
|
Message Encoding
|
Message Version
|
Security Mode
|
RM
|
Tx Flow*
|
|
BasicHttpBinding
|
HTTP
|
Text
|
SOAP 1.1
|
None
|
X
|
X
|
|
WSHttpBinding
|
HTTP
|
Text
|
SOAP 1.2
WS-A 1.0
|
Message
|
Disabled
|
WS-AT
|
|
WSDualHttpBinding
|
HTTP
|
Text
|
SOAP 1.2
WS-A 1.0
|
Message
|
Enabled
|
WS-AT
|
|
WSFederationHttpBinding
|
HTTP
|
Text
|
SOAP 1.2
WS-A 1.0
|
Message
|
Disabled
|
WS-AT
|
|
NetTcpBinding
|
TCP
|
Binary
|
SOAP 1.2
|
Transport
|
Disabled
|
OleTx
|
|
NetPeerTcpBinding
|
P2P
|
Binary
|
SOAP 1.2
|
Transport
|
X
|
X
|
|
NetNamedPipesBinding
|
Named Pipes
|
Binary
|
SOAP 1.2
|
Transport
|
X
|
OleTx
|
|
NetMsmqBinding
|
MSMQ
|
Binary
|
SOAP 1.2
|
Message
|
X
|
X
|
Notes: X = Not Supported, WS-A = WS-Addressing, WS-AT = WS-AtomicTransaction, OleTx = OleTransactions
* Transaction flow is always disabled by default, but when you enable it, these are the default tx protocols
Although some of these values can be configured differently on certain bindings, the table shows the defaults in each area. I’m pretty happy with this one.