将使用WSDualHttpBinding为复式回调工作,在真实世界的情况?说的,我有一个.网应用程序使用随机的港口,将服务能够解决客户的基地址和口试镜?

有帮助吗?

解决方案

一个完整的回答你的问题取决于"真实世界的情景"是一个内联网或因特网的情况。虽然WSDualHttpBinding工作在这两种情况下有具体要知道的:

内联网

WSDualHttpBinding会的工作与你。网应用程序使用一个预先配置的定义口在内联网的情况和"是的"的服务将能够解决客户的基地址和港口用于回调:究竟是如何解释如下。原因是以下所解释的是,WSDualHttpBinding是主要设计用于在互联网上。

复式回调一个内部网的情况时可以使用WCF两客户和服务器最好是通过使用NetTcpBinding或NetNamedPipeBinding.这些绑定使用TCP和比较方案分别作为运输(而不是HTTP)和一个自定义的二进制编码这就是为什么WCF是需要在双方。电话回来的客户相同的频道使用连接到服务通过的结合就是重新使用,而不需要一个新端口被打开。

互联网

在互联网方案的有效HTTP请求和响应只在一个方向,HTTP的目的是作为一种方式协议。当使用WSDualHttpBinding WCF因此创造了一个单独HTTP道回调。在回答你的第二个问题:目的地的地址这个电话回来的客户是由客户机主机名称和港口的80默认。如果客户是一个发展机例如,有IIS安装港口的80将完全保留在某些情况下,这将导致冲突的原型应用程序。这是什么 这篇文章 提出了一个解决方案是什么ClientBaseAddress酒店的目的是帮助。无论哪个口你去-默认或一个自定义,则必须确保所有防火墙和路由器在双方的配置正确,允许这两个出通道和单独的回信道待建立。

A.网应用程序还可以表示一个Silverlight应用程序。因为事实上,Silverlight应用程序运行中的浏览器就无法接受新进入HTTP连接,WSDualHttpBinding与它的单独背道不会的工作。因此PollingDuplexHttpBinding的建立是首先在Silverlight2这可以被认为是一个聪明的'伎俩得到周围的事实,HTTP是单向的,通过保持该请求的通道打开很长一段时间(长询)以及使用它作为一个回信道呼叫回来的客户。这有一些影响对客户和服务器方特别有关的扩展,更多细节,请看 此后从我的博客.

一个想法,你的特别是"真实世界的情景"和使用情况,希望这将有助于你的工作出正确的结合使用复式回调。

其他提示

如果这是一个应用程序背后的一个防火墙,从理论上说是的。这取决于你的意思是"真实世界";如果你的意思是"高效"或许NetTcpBinding是一个更好的appraoch.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top