WCF has a
couple of built in bindings which are designed to fulfill some specific need.
You can also define your own custom binding in WCF to fulfill your need. All
built in bindings are defined in the System.ServiceModel Namespace. Here is the
list of 10 built in bindings in WCF which we commonly used:
1. 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 (which are
still using ASMX web service) can consume new service. By default, it uses Http
protocol for transport and encodes the message in UTF - 8 text for-mat. You can
also use Https with this binding.
2. Web binding
This binding is provided by the WebHttpBinding class. It is designed to
expose WCF services as Http requests by using HTTP-GET, HTTP-POST. It is used
with REST based services which may give output as an XML or JSON format. This
is very much used with social networks for implementing a syndication feed.
3. Web Service (WS) binding
This binding is provided by the WSHttpBinding class. It is like as 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
4. WS Dual binding
This binding is provided by the WsDualHttpBinding class. It is like as
wsHttpBinding except it sup-ports bi-directional communication means both
clients and services can send and receive messages.
5. TCP binding
This binding is provided by the NetTcpBinding class. It uses TCP
protocol for communication be-tween two machines with in intranet (means same
network). It encodes the message in binary format. This is faster and more
reliable binding as compared to the Http protocol bindings. It is only used
when communication is WCF - to – WCF means both client and service should have
WCF.
6. IPC binding
This binding is provided by the NetNamedPipeBinding class. It uses named
pipe for Communication between two services on the same machine. This is the
most secure and fastest binding among all the bindings.
7. MSMQ binding
This binding is provided by the NetMsmqBinding class. It uses MSMQ for
transport and offers sup-port to disconnected message queued. It provides
solutions for disconnected scenarios in which service processes the message at
a different time than the client send the messages.
8. 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.
9. Peer Network binding
This binding is provided by the NetPeerTcpBinding class. It uses TCP
protocol but uses peer net-working 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 torrent.
10.
MSMQ Integration binding
This binding is provided by the MsmqIntegrationBinding class. This
binding offers support to communicate with existing systems that communicate
via MSMQ.
Choosing an Appropriate WCF binding
. Depending
upon your requirements, you can choose a binding for your service as shown
below in the diagram:
No comments:
Post a Comment