2011-08-06 79 views
0

我正在編寫一個簡單的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

回答

0

在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

0

幾件事你可以嘗試。

1)在你的客戶端機器上確保你可以ping 192.168.0.10 2)還需要確保你的服務器上的8000端口是開放的,用於HTTP通信。

相關問題