【问题标题】:If I host NetTcpBinding WCF service in IIS 7.0如果我在 IIS 7.0 中托管 NetTcpBinding WCF 服务
【发布时间】:2012-09-18 02:52:41
【问题描述】:

我有个小问题,

  1. 如果我在 IIS 7.0 中托管 NetTcpbinding WCF 服务,并且我想从客户端应用程序调用此服务,那么这将使用什么格式进行通信..??

  2. 是否有任何规则说,所有 NetTcpbinding 都不应托管在 IIS 上,而必须托管在控制台应用程序或 Windows 服务上..?

  3. 什么时候我想去 TcpNet 绑定..?

  4. 假设,我有两个端点,一个用于 WsHttpbinding,另一个是 NetTcpbinding 并在 IIS 中部署服务,那么如果我想从客户端应用程序使用 NetTcp 端点,那么如何......?这是正确的做法吗...??在这种情况下...

谢谢, 苏克什。

【问题讨论】:

    标签: wcf


    【解决方案1】:

    NetTcpBinding 类信息:

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

    1. 从评论中引用:

      默认情况下,NetTcpBinding 生成一个运行时通信堆栈,它使用传输安全、TCP 进行消息传递和二进制消息编码。此绑定是适当的Windows通信基础(WCF)系统提供的选择,用于通过内联网进行通信。

    引号表示客户端-服务器连接是通过 TCP 建立的,用于发送以二进制编码的 SOAP 消息。

    2。 不。甚至还有一篇关于如何做到这一点的精彩博文:

    http://blogs.msdn.com/b/santhoshonline/archive/2010/07/01/howto-nettcpbinding-on-iis-and-things-to-remember.aspx

    3。 返回班级信息:

    更一般地说,HTTP 系统提供的绑定(如 WSHttpBinding 和 BasicHttpBinding)默认配置为开启,而 NetTcpBinding 绑定默认关闭,因此您必须选择加入才能获得支持,例如,对于 WS-* 规范之一。这意味着 TCP 的默认配置在端点之间交换消息时比 HTTP 绑定默认配置的更快。

    这意味着由于预期的附加协议层(http 层和 WS-* 规范层),此绑定不会执行 basicHttpBinding 和 WSHttpBinding 所做的所有更高级别的处理。因此,这是一种更高性能的绑定配置,可让您在服务消息回复中更快地周转,但会丢失您的 http 层(客户端不能再只是将 HTTP POST 肥皂信封发送到您的服务)。

    4。 我将设置两个实现相同接口的独立服务端点(一个 TCP 和一个 WSHttp)。然后您可以在客户端设置两个客户端配置项,它们再次使用不同的绑定配置但调用相同的接口。然后你可以加载任何一个。

    <client>          
    <endpoint name="WSEndpoint" address="http://address/WSEndpoint.svc" binding="WSHttpBinding" contract="Your.Contract.Namespace"/>
    <endpoint name="TCPEndpoint" address="http://address/TCPEndpoint.svc" binding="NetTcpBinding" contract="Your.Contract.Namespace"/>
    </client>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-13
      • 1970-01-01
      • 2020-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多