We are providing online training of realtime Live project on Asp.Net MVC with Angular and Web API. For more information click here. If you have any query then drop the messase in CONTACT FORM

Sunday, May 31, 2015

Types of Bindings in WCF


WCF has a couple of built-in bindings that are designed to fulfill some specific needs. We can also define our own custom bindings in WCF to fulfill our needs. All built-in bindings are defined in the System.ServiceModel Namespace. Here is the list of 10 built-in bindings in WCF that we commonly use.


Basic binding

This binding is provided by the BasicHttpBinding class. It is designed to expose a WCF service as an ASMX web service, so that old clients (that are still using an ASMX web service) can consume the new service. By default, it uses the HTTP protocol for transport and encodes the message in UTF-8 text format. You can also use HTTPS with this binding.


Web binding

This binding is provided by the WebHttpBinding class. It is designed to expose WCF services as HTTP requests using HTTP-GET and HTTP-POST. It is used with REST-based services that may provide output in XML or JSON format. This is very much used with social networks for implementing a syndication feed.


Web Service (WS) binding 

This binding is provided by the WSHttpBinding class. It is like a basic binding and uses HTTP or HTTPS protocols for transport. But this is designed to offer various WS - * specifications such as WS – Reliable Messaging, WS - Transactions, WS - Security and so on which are not supported by Basic binding.

wsHttpBinding= basicHttpBinding + WS-* specification


WS Dual binding

This binding is provided by the WsDualHttpBinding class. It is like a WsHttpBinding except it supports bi-directional communication which means both clients and services can send and receive messages.


TCP binding

This binding is provided by the NetTcpBinding class. It uses the TCP protocol for communication between two machines within the intranet (means the same network). It encodes the message in binary format. This is a faster and more reliable binding compared to the HTTP protocol bindings. It is only used when the communication is WCF-to-WCF which means both client and service should have WCF.


IPC binding

This binding is provided by the NetNamedPipeBinding class. It uses a named pipe for communication between two services on the same machine. This is the most secure and fastest binding among all the bindings.


MSMQ binding

This binding is provided by the NetMsmqBinding class. It uses MSMQ for transport and offers support to a disconnected message queued. It provides solutions for disconnected scenarios in which the service processes the message at a different time than the client sending the messages.


Federated WS binding

This binding is provided by the WSFederationHttpBinding class. It is a specialized form of WS binding and provides support to federated security.


Peer Network binding

This binding is provided by the NetPeerTcpBinding class. It uses the TCP protocol but uses peer networking as transport. In this networking, each machine (node) acts as a client and a server to the other nodes. This is used in the file-sharing systems like a Torrent.


MSMQ Integration binding


This binding is provided by the MsmqIntegrationBinding class. It offers support to communicate with existing systems that communicate via MSMQ.

No comments: