Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

net.pipe vs. net.tcp vs. http Bindings

I'm new to WCF and would like to know the differences/advantages/limitations/etc of each of the following bindings:

net.pipe net.tcp http 

Supporting scenarios on when to use each binding and other examples would be appreciated.

like image 206
Aaron Avatar asked Apr 19 '09 16:04

Aaron


People also ask

What is net pipe binding?

A named pipe has a name, and can be used for one-way or duplex communication between processes on a single machine. Named Pipes in Windows can be used to communicate between processes on the same machine or between different machines across a network.

What is Net TCP binding?

The NetTcpBinding generates a run-time communication stack by default, which uses transport security, TCP for message delivery, and a binary message encoding. This binding is an appropriate Windows Communication Foundation (WCF) system-provided choice for communicating over an Intranet.

Does WCF use TCP or UDP?

The WCF TCP transport is optimized for the scenario where both ends of the communication are using WCF. This binding is the fastest WCF binding for scenarios that involve communicating between different machines.

What transport protocols are supported in WCF?

Protocols − WCF supports a range of protocols, i.e., HTTP, Named Pipes, TCP, and MSMQ, whereas a web service only supports HTTP protocol.


1 Answers

While not great for providing specific usage examples, here is a link from MSDN which lists all the features for the bindings.

http://msdn.microsoft.com/en-us/library/ms730879.aspx

Here is a decent flow chart that can help choosing between them as well.

Flowchart

Source: http://bloggingabout.net/blogs/dennis/archive/2006/12/01/WCF-Binding-decision-chart.aspx

Here is a good overall article I've used in the past.

http://mkdot.net/blogs/dejan/archive/2008/03/31/wcf-binding-decision.aspx (or here in the wayback machine if the link no longer works for you).

like image 147
Joe Doyle Avatar answered Sep 24 '22 08:09

Joe Doyle