WCF – net.pipe与net.tcp与http绑定

我是WCF的新手,想了解以下每个绑定的差异/优点/限制/等等:

net.pipe net.tcp http 

有关何时使用每个绑定和其他示例的支持情况,将不胜感激。

虽然不是很好的提供具体用法的例子,这里是从MSDN链接列出绑定的所有function。

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

这是一个体面的stream程图,可以帮助他们之间的select。

流程图

资料来源: http : //bloggingabout.net/blogs/dennis/archive/2006/12/01/WCF-Binding-decision-chart.aspx

这是我以前用过的一篇很好的综合文章。

http://mkdot.net/blogs/dejan/archive/2008/03/31/wcf-binding-decision.aspx (或者如果链接不再适用于你的话,那么在这里就是在backback机器上)。

net.pipe,快速且安全,因为您的networking服务无法从networking访问(通常,您将使用net.pipe与Windows服务轻松交互)。

http,你会用它来实现互操作的原因,如果你的web服务不是over HTTP,silverlight或者flash就不能使用它(因为浏览器过滤非http数据包,就像防火墙一样)。

net.tcp,有点快,因为你的SOAP消息没有被包装在HTTP请求中,但是你不能用RIA技术调用你的webservice,有些防火墙会丢失你的消息。

Windows Communication Foundation(WCF)是一个构build处理XML消息的服务的框架。 WCF允许您使用不同的传输协议(如HTTP,TCP和MSMQ)并使用不同的XML表示(例如文本,二进制或MTOM(通常称为WCF中的消息编码)来传输消息。

如果要在一台机器上承载多个WCF服务,并希望它们使用共享内存进行通信,请使用命名pipe道=> net.pipe,然后使用tcp与不同计算机上的WCF服务进行通信。

nettcp绑定的configuration重点是创build一个在Windows环境下性能更好的通道栈,为您提供一个很好的select来replace您的各种COM +和.NET远程投资。

BasicHttpBinding是为互操作性至关重要的场景而devise的。 因此,BasicHttpBinding使用HTTP作为消息编码的传输和文本。