获取错误WCF服务端点存在时找不到

时间:2013-06-24 13:05:22

标签: wcf windows-runtime wcf-endpoint

我运行的WCF服务在我的客户端之前工作正常。我有一个Azure Compute Emulator在我托管该服务的其他设备上运行。由于这仅用于本地测试,我使用

为本地端口添加了端口重定向
netsh interface portproxy add v4tov4 listenport=81 listenaddress=192.168.1.100 connectport=81 connectaddress=127.0.0.1

这可以正常工作,因为我可以从服务器设备导入服务引用。但是,当我运行我的应用程序时,使用 new ServiceReference1.ServiceClient()初始化我的服务引用并尝试调用它的第一个方法,我得到一个EndpointNotFoundException。

以下是特点:

  • 本地连接到192.168.1.100:81有效,我可以在那里使用相同的客户端软件。
  • 我创建了一个新的WinForms(我的客户端目标是WinRT)项目,添加了服务引用并调用了方法并且它已经工作(也来自远程设备)。

所以基本上,现在的情况是只有这一个服务引用实例(我尝试删除和添加 - 再次,导入服务引用工作!)不起作用。调试器只是在第一次调用服务的方法时抛出EndpointNotFoundException(异常包含正确的IP和端口192.168.1.100:81),因此我很难进一步调试它。

调用方法的代码完全相同(即使用new初始化并调用不带参数的客户端方法)。有什么想法会导致这种情况吗?

1 个答案:

答案 0 :(得分:0)

好吧,我发现了造成这种情况的原因。由于我只是在本地开发,我以前没有遇到过这个问题(当我部署到Azure时),但显然是在我的本地环境中运行,需要“专用网络(服务器和客户端)”功能才能工作。当然,获得与此问题相对应的错误会更好,但至少它现在已经解决了。

知道为什么这种能力与“互联网”功能分开了吗?