0

我有个小问题,

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

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

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

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

谢谢,苏克什。

4

1 回答 1

0

NetTcpBinding 类信息:

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

  1. 从评论中引用:

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

引号表示客户端-服务器连接是通过 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>
于 2012-09-18T04:35:04.753 回答