2013-11-04 89 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

相关问题