WCF - 何时应该使用netTcpBinding

6

我通常在我的服务中使用HTTP绑定。
我读到net.tcp绑定速度更快,但是我不太确定什么时候应该使用它?
最佳实践是什么, 有没有任何缺点?

谢谢。


http://msdn.microsoft.com/en-us/library/ms731092.aspx - Preston Guillot
1
它确实工作更快,net tcp是基本的 - “最接近金属”。我认为这取决于您的用例。安全?单机或多机中的进程间通信等等。 - ilansch
1个回答

5

NetTcpBinding的MSDN页面最好地解释了它

NetTcpBinding的默认配置比WSHttpBinding提供的配置更快,但仅适用于WCF到WCF的通信。

因此,当您拥有.NET WCF客户端和.NET WCF服务器时,可以使用NetTcpBinding,但是如果您需要支持不是使用.NET WCF编写的客户端(例如您发布公共服务并且不知道客户端将使用哪种语言),则需要使用HttpBinding。

这个页面对每种类型的绑定及其应使用的情况进行了简要概述。

  • BasicHttpBinding - 适用于与符合WS-Basic Profile标准的Web服务通信,例如基于ASP.NET的Web服务(ASMX)。该绑定使用HTTP作为传输和文本/XML作为默认消息编码。
  • WSHttpBinding - 安全且可互操作的绑定,适用于非双工服务契约。
  • WS2007HttpBinding - 安全且可互操作的绑定,提供对Security、ReliableSession和TransactionFlow绑定元素的正确版本的支持。
  • WSDualHttpBinding - 安全且可互操作的绑定,适用于双工服务契约或通过SOAP中介进行通信。
  • WSFederationHttpBinding - 安全且可互操作的绑定,支持WS-Federation协议,使联邦组织能够高效地对用户进行身份验证和授权。
  • WS2007FederationHttpBinding - 安全且可互操作的绑定,派生自WS2007HttpBinding并支持联合安全性。
  • NetTcpBinding - 安全且优化的绑定,适用于WCF应用程序之间的跨机器通信。
  • NetNamedPipeBinding - 安全、可靠且优化的绑定,适用于WCF应用程序之间的机内通信。
  • NetMsmqBinding - 适用于WCF应用程序之间的跨机器通信的排队绑定。
  • NetPeerTcpBinding - 一种绑定,可实现安全的多机通信。
  • WebHttpBinding - 用于配置通过HTTP请求而不是SOAP消息公开的WCF Web服务的端点的绑定。
  • MsmqIntegrationBinding - 适用于WCF应用程序与现有消息队列(也称为MSMQ)应用程序之间的跨机器通信的绑定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接