Here In this post I expalined all bindings in WCF. The cinarios where which binding is most suitable and what they supports.
Bindings and Explaination:-
Bindings and Explaination:-
Sl.No
|
Binding
Name
|
Binding
class and Description
|
1
|
Basic binding
|
We use BasicHttpBinding class to implement this binding. It is designed
to expose a WCF service as an ASMX web service (asp.net 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
|
We use WebHttpBinding class to implements this binding. 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
|
We use WSHttpBinding class to implement this binding. It is similar to
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
|
We use WsDualHttpBinding class to implement this binding. It is similar
to wsHttpBinding except it sup-ports bi-directional communication means both
clients and services can send and receive messages.
|
5
|
TCP binding
|
We use NetTcpBinding class to implement this binding. It uses TCP
protocol to communicate between 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
|
We use NetNamedPipeBinding class to implement this binding. It uses
named pipe to Communicate between two services on the same machine. This is
the most secure and fastest binding among all the bindings.
|
7
|
MSMQ binding
|
We use NetMsmqBinding class to implement this binding. 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
|
We use WSFederationHttpBinding class to implement this binding. It is a
specialized form of WS binding and provides support to federated security.
|
9
|
Peer Network binding
|
We use NetPeerTcpBinding class to implement this binding. 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
|
We use MsmqIntegrationBinding class to implement this binding. This
binding offers support to communicate with existing systems that communicate
via MSMQ.
|
How to choose binding and which binding is most suitable in wchich cinarios:-
What they supports:-
Sl.No
|
Binding Name
|
Message Encoding
|
Protocol
|
Security
|
Transaction
|
Bi-directional
|
1
|
Basic binding
|
Text
|
Http, Https
|
None
|
-----
|
------
|
2
|
Web Service (WS)
binding
|
Text
|
Http, Https
|
Message
|
Yes
|
------
|
3
|
WS Dual binding
|
Text
|
Http, Https
|
Message
|
Yes
|
Yes
|
4
|
TCP binding
|
Binary
|
TCP
|
Transport
|
Yes
|
Yes
|
5
|
IPC binding
|
Binary
|
Named pipe
|
Transport
|
Yes
|
Yes
|
6
|
MSMQ binding
|
Binary
|
MSMQ
|
Message
|
Yes
|
No
|
7
|
Federated WS
binding
|
Text
|
Http, Https
|
Transport
|
Yes
|
No
|
8
|
Peer Network
binding
|
Binary
|
Peer to Peer
|
Transport
|
No
|
Yes
|
9
|
MSMQ Integration
binding
|
Not Supported
|
MSMQ
|
Transport
|
Yes
|
-----
|
In the above post I explained WCF bindings. Ihope its very useful to you. So please comments your feedback, question regarding this post.
No comments:
Post a Comment