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



我有一个WCF服务在运行,以前从我的客户端运行得很好。我在托管该服务的另一台设备上运行了Azure计算模拟器。由于这只是为了进行本地测试,我添加了一个使用的本地端口重定向

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初始化,并在没有参数的情况下调用客户端方法)。你知道是什么原因造成的吗?

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

你知道为什么这种能力与"互联网"能力分开吗?

最新更新