Microsoft Windows Communication Foundation comes with a set of built-in bindings and each binding is designed to fulfill some specific need. So, if interoperability is our concern and we need to communicate with non-WCF system, then, we should go for basicHttpBinding or wsHttpBinding.
|Primarily BasicHttpBinding is designed to exchange SOAP over HTTP(s) only, just like old ASMX or .net web services and supports the WS-I BasicProfile.||WsHttpBinding supports the advanced WS-* specification which includes WS-Addressing and WS-Security etc.|
|It has higher level of interoperability with existing services and clients.||Due to more advanced messaging scenarios, it has reduced support for wider range of older clients.|
|BasicHttpBinding is based on SOAP 1.1 specification.||WsHttpBinding supports SOAP 1.2 specification.|
|No support for reliable Messaging.||Supports for reliable messaging.|
|No support for transactions.||It supports atomic and distributed transactions.|
|It has fewer security options. Or we can say, there is no security provided, by default, for BasicHttpBinding.||Because WsHttpBinding supports advanced WS-* specification, it has a lot more security options available. For example, It provides message-level security i.e. message is not sent in plain text. Also it supports for WS-Trust and WS-Secure conversation.|
|At transport level, it provides support for confidentiality through SSL.||It supports for both Transport as well as Message level security.|
|BasicHttpBinding is a bit faster because security is disabled by default.||As it supports advanced security options and its enabled by default, so it’s a bit slower than BasicHttpBinding.|
© 2015, admin. All rights reserved.
Reference books, you may like:Programming WCF Services: Design and Build Maintainable Service-Oriented Systems
WCF Multi-Layer Services Development with Entity Framework, 4th Edition
Learning WCF: A Hands-on Guide