我运行的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。
以下是特点:
所以基本上,现在的情况是只有这一个服务引用实例(我尝试删除和添加 - 再次,导入服务引用工作!)不起作用。调试器只是在第一次调用服务的方法时抛出EndpointNotFoundException(异常包含正确的IP和端口192.168.1.100:81),因此我很难进一步调试它。
调用方法的代码完全相同(即使用new初始化并调用不带参数的客户端方法)。有什么想法会导致这种情况吗?
答案 0 :(得分:0)
好吧,我发现了造成这种情况的原因。由于我只是在本地开发,我以前没有遇到过这个问题(当我部署到Azure时),但显然是在我的本地环境中运行,需要“专用网络(服务器和客户端)”功能才能工作。当然,获得与此问题相对应的错误会更好,但至少它现在已经解决了。
知道为什么这种能力与“互联网”功能分开了吗?