6

我通常在我的服务中使用 HTTP 绑定。
我读到 net.tcp 绑定工作得更快,但是我不太确定什么时候应该使用它?
什么是最佳做法,有什么缺点吗?

谢谢

4

1 回答 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 作为传输,使用 text/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)应用程序之间的跨机器通信的绑定。
于 2013-10-06T18:17:58.137 回答