在不同的机器上运行的WCF服务和客户端

在不同的机器上运行的WCF服务和客户端

问题描述:

我正在编写一个简单的WCF客户端/服务器应用程序。该服务作为控制台应用程序运行。在不同的机器上运行的WCF服务和客户端

当客户端和服务器在同一台计算机上运行时,它工作正常。端点URI是:

http://localhost:8000/Myservice/Service 

然而,当我移动客户端在不同的机器,并设置端点URI的服务来:

http://192.168.0.10:8000/Myservice/Service 

(192.168.0.10)是的IP服务器机器。

客户端不再工作。

我试图通过在Visual Studio中提供上述URI来重新添加“添加服务引用”。但客户端不再能够检测服务器上运行的服务并从中提取代理服务器。

我想知道是否有任何网络相关的问题?我将服务控制台应用程序添加到防火墙例外列表中,但它不能解决问题。

任何人都可以帮忙吗?

非常感谢。

+0

你可以ping服务器的IP地址吗?你可以在服务器上的8000端口上telnet吗? – Fabio

在WCF服务器中,您可能想要在cmd中运行以下命令:'netstat -nao'。在那里,您会发现包含与您的端口8000相关的重要信息的行。请注意,关联的IP地址需要为0.0.0.0或您的网络IP地址(192.168.0.X)。 Localhost或127.0.0.1将导致您的数据包在内部路由。

从WCF客户端,您可能想尝试Wireshark应用程序(www.wireshark.org)以进一步研究网络问题。

+0

我没有在包含端口8000的netstat -nao结果中看到任何条目。我确实运行了命令“netsh http add urlacl url = http://192.168.0.10:8000/MyService/Service user = Kevin”来启用此功能网址。 – Kevin

+0

请注意,必须从WCF服务器计算机执行netstat。如果您没有看到任何带有端口8000的行,那么您可以从WCF服务器运行“telnet localhost 8000”命令来查看服务是否已启动。 – Damiox

几件事你可以尝试。

1)在你的客户端机器上确保你可以ping 192.168.0.10 2)还需要确保你的服务器上的8000端口是开放的,用于HTTP通信。