我有一个 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初始化,调用不带参数的客户端方法)。有什么想法可能导致这种情况吗?