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

.net net.pipe与net.tcp与http绑定,.net,wcf,wcf-binding,.net,Wcf,Wcf Binding,我是WCF新手,希望了解以下每个绑定的区别/优点/限制/等等: net.pipe net.tcp http 何时使用每个绑定和其他示例的支持场景将被赏识。 < P> Windows通信基础(WCF)是构建处理XML消息的服务的框架。WCF允许您使用不同的传输协议(如HTTP、TCP和MSMQ)和不同的XML表示(如文本、二进制或MTOM,在WCF中通常称为消息编码)传输消息 如果要在一台计算机上承载多个WCF服务,并希望它们使用共享内存进行通信,请使用命名管道=>net.pipe,然后使用tc

我是WCF新手,希望了解以下每个绑定的区别/优点/限制/等等:

net.pipe
net.tcp
http

何时使用每个绑定和其他示例的支持场景将被赏识。

< P> Windows通信基础(WCF)是构建处理XML消息的服务的框架。WCF允许您使用不同的传输协议(如HTTP、TCP和MSMQ)和不同的XML表示(如文本、二进制或MTOM,在WCF中通常称为消息编码)传输消息

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

nettcp绑定的配置侧重于创建一个在Windows环境中性能更好的通道堆栈,为您提供了一个替代各种COM+和.NET远程处理投资的绝佳选择


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

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

http,您将出于互操作性的原因使用它,如果您的web服务不通过http,silverlight或flash无法使用它(因为浏览器会像防火墙一样过滤非http数据包)


net.tcp的速度要快一些,因为您的soap消息没有封装在HTTP请求中,但是您无法使用RIA技术调用您的Web服务,一些防火墙会删除您的消息。

虽然对于提供特定的使用示例来说不是很好,但这里有一个来自MSDN的链接,其中列出了绑定的所有功能

下面是一个不错的流程图,可以帮助您在两者之间进行选择

资料来源:

这是一篇我过去用过的好文章


(如果链接不再适用于您,则在回程机器中).

Michele Leroux Bustamante在她的书《学习》中用例子很好地比较了所有不同的绑定WCF@JoeDoyle当这个答案试图回答这个问题时,您能否通过在您的答案中添加引用链接中的任何相关摘录来改进您的答案?这将对未来的访问者有所帮助,因为他们不会拒绝ed点击链接,最重要的是有助于保护您的答案不受死链接的影响。我喜欢这个,我喜欢这个,我只是喜欢这个流程图!太棒了!最后两个链接不再起作用了。是否有机会用其他地方的合适和相关文章替换它们?感谢您的跟进CF不需要XML messages。例如,消息可以用纯文本或二进制编码。COM不是WCF中的消息编码。它是对SOAP消息的优化,以防止二进制数据被Base64'd。它是使用SOAP(XML)的BasicHttpBinding。请注意,如果需要IIS记录操作(例如统计信息),请注意,抱歉,您别无选择,只能使用http,因为即使将IIS配置为主机,net.tcp和net.pipe也不会记录任何内容。