WCF Binding Comparison

Service Station, by Aaron Skonnard

Syndication

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
MsmqIntegrationBinding
MSMQ
X**
X
Transport
X
X
CustomBinding
You decide
You decide
You decide
You decide
You decide
You decide
 
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
* This binding doesn’t use a WCF message encoding – instead it lets you choose a pre-WCF serialization format
 
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.
 

Posted Mar 22 2007, 03:17 PM by Aaron Skonnard
Filed under:

Comments

Angel Komarov wrote re: WCF Bindings Summary/Comparison
on 03-22-2007 10:06 PM
Could you recommend an article / series of articles / book that covers all WCF fundamentals?

I’d like to know all details how to set up all different configurations (both by code or from config. file).

Thank you
Aaron Skonnard wrote re: WCF Bindings Summary/Comparison
on 03-23-2007 7:18 AM
Check out the wiki I maintain here: http://www.pluralsight.com/wiki/default.aspx/Aaron/WindowsCommunicationFoundationWiki.html

It contains a bunch of helpful WCF resources and towards the bottom you'll find the list of books I know about -- most aren't available on yet but I think they're getting close.
Christopher Steen wrote Link Listing - March 23, 2007
on 03-23-2007 10:41 PM
ASP.NET AJAX Documentation Update, Videos and Cool Articles [Via: ScottGu ] An Open Letter to Scott...
Clara's Notes on Technology wrote Choosing a Communication Technology
on 05-28-2007 8:49 AM
Choosing a Communication Technology
Stephen Viswaraj wrote re: WCF Binding Comparison
on 03-10-2008 9:55 AM
Thanks Aaron, this is what I expected.
Since I used the basic Httpbinding, which sent the request as text/xml, but the service which I am requesting returns soap+xml which is supported by soap 1.2.

Cheers,
Stephen Viswaraj
Steve wrote re: WCF Binding Comparison
on 03-10-2008 11:39 AM
Hi Aaron,

I have a question here,
My Service is using BasicHttpBinding, so the request which passes to another service as SOAP 1.1, and type as text/xml; but, the called service is using SOAP 1.2 and type as soap+xml; Even though, I changed the service binding as WSHttpBinding, the response from the service says, "The content type application/soap+xml of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 0 bytes of the response were:"

Please advice as necessary.
Israel Aece wrote re: WCF Binding Comparison
on 06-02-2008 10:26 AM
Hello Aaron,

Update your table with WebHttpBinding ;)

Add a Comment

(required)  
(optional)
(required)  
Remember Me?