我有一个使用wsDualHttpBinding的wcf简单程序。我将server.exe放在另一台计算机上(在我的LAN网络上)并通过客户端调用方法。回调在客户端成功调用。然后我将我的server.exe放在我的VPS服务器上(在Internet上)并运行client.exe,客户端抛出TimeoutException。 我使用9090端口进行服务器监听。我也在两边都关掉了防火墙。
怎么了? 请帮忙,这让我发疯了。
编辑: 服务器和客户端都需要有效的IP地址吗?
答案 0 :(得分:0)
检查客户端的配置。尝试增加以下设置:
<binding name="WSDualHttpBindingEndpoint"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:01:00"
验证是否正在调用服务操作&amp;正在及时回归。 当输入方法时,让服务写入日志&amp;退出。
同时验证端口9090是否未被阻止。
答案 1 :(得分:0)
尝试在server.exe中发布带有元数据端点的http元数据,并在浏览器中的客户端计算机上打开Web服务页面。
我还建议您使用nettcpbinding而不是wsDualHttpBinding甚至通过Internet,因为它更稳定,持久性通道和AFAIK wsDualHttpBinding需要两个端口进行正常的双工对话(请参阅客户端绑定中的ClientBaseAddress)。 Tcp需要一个
答案 2 :(得分:0)
问题已经解决了!
在双工连接中,客户端和服务器都需要有效的IP地址。 我改变了连接方式。我使用netTcp。
无论如何,无论如何,。