2013-11-04 132 views
0

我已經實現了一個本地WCF服務,該服務正在監聽端口8099以JSON格式發送Web請求。該服務可以通過瀏覽器中的簡單POSTer引擎(例如Chrome的Simple REST客戶端)進行測試,並且工作正常。從Windows 8應用程序調用本地Web服務(自託管WCF)

但是,如果我想從Windows 8應用程序調用相同的服務,則由於超時而只能收到SocketException。我在Package.appxmanifest文件中檢查了Internet (Client)Private Networks (Client & Server),但它仍然不起作用。 WCF服務中沒有傳入請求。

是否有更進一步的設置,我必須改變才能使它工作?是否因爲http://localhost:8099/?有保留/被拒絕的端口嗎?

在此先感謝您的建議。

+1

如果這是一個Windows應用商店應用,[此答案](http://stackoverflow.com/a/16794488/1822514)可能適用於您的方案。 –

+0

你救了我的一天:)令人困惑的是,同一個應用程序正在使用相同的設置在另一個設備上工作。無論如何,在我的情況下增加一個豁免工程。 – Mrks83

+0

[WCF服務引用不能在其他PC上工作]的可能的重複(http://stackoverflow.com/questions/16783974/wcf-service-reference-not-working-on-other-pc) –

回答

0

首先,如果您在另一臺機器上調用承載該服務的另一臺機器,請勿使用localhost,請使用可訪問的主機名或IP。是的,請檢查您的服務託管的防火牆規則,以確保它允許傳入連接。再從其他機器,試圖通過指定這樣的端口遠程登錄到主機:

的telnet myservicehost 8099

的反應並不像你是否得到連接一樣重要。如果你連接,你的提示將掛起等待輸入。這是一個好兆頭。如果您仍然拒絕連接,則仍然存在需要整理的防火牆/網絡問題。

+0

這是一臺單機,它不打算在另一臺機器上調用該服務。我已經仔細檢查了防火牆,即使它已關閉,從我的應用程序到WCF的通信也不起作用。有趣的一點Chrome本身是一個應用程序 – Mrks83

+0

它是一個單獨的機器......模擬器作爲一個單獨的機器(VM),因此Localhost將無法工作。 @Jerico是對的。 – BenjaminPaul

相關問題