我是WCF的新手,想了解以下每种绑定的差异/优点/限制等:
net.pipe
net.tcp
http
能提供何时使用每种绑定的支持场景和其他示例将不胜感激。
我是WCF的新手,想了解以下每种绑定的差异/优点/限制等:
net.pipe
net.tcp
http
能提供何时使用每种绑定的支持场景和其他示例将不胜感激。
这里是来自 MSDN 的链接,列出了所有绑定的功能,但不太适用于提供具体的使用示例。
http://msdn.microsoft.com/en-us/library/ms730879.aspx
这是一个不错的流程图,可以帮助选择它们之间的区别。
来源: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 (如果链接失效,可以在 wayback machine 中这里找到)。
net.pipe,快速和安全,因为你的 Web 服务不会从网络上被访问(通常情况下,你会使用 net.pipe 来轻松地与 Windows 服务交互)。
http,你会出于互操作性的原因使用它,如果你的 Web 服务不是基于 HTTP 的,Silverlight 或 Flash 将无法使用它(因为浏览器过滤非 HTTP 数据包,就像防火墙一样)。
net.tcp,速度比较快,因为你的 SOAP 消息没有被包装在 HTTP 请求中,但是你不能使用 RIA 技术调用 Web 服务,而且一些防火墙会丢弃你的消息。
Windows Communication Foundation (WCF) 是用于构建处理 XML 消息的服务框架。WCF 允许您使用不同的传输协议(如 HTTP、TCP 和 MSMQ)以及使用不同的 XML 表示形式(如文本、二进制或 MTOM,通常称为 WCF 中的消息编码)来传输消息。
如果您想在一台计算机上托管多个 WCF 服务并希望它们使用共享内存进行通信,请使用命名管道=>net.pipe,并使用 TCP 与其他计算机上的 WCF 服务进行通信。
nettcp 绑定的配置重点在于创建一个通道堆栈,在 Windows 环境中表现更佳,为您替换各种 COM+ 和 .NET 远程处理投资提供了一个很好的选择。
BasicHttpBinding 的设计适用于互操作性最重要的场景。因此,BasicHttpBinding 使用 HTTP 进行传输和文本进行消息编码。