2

我在一台机器上的客户端应用程序正在尝试访问另一台机器上的 WCF 服务。

客户端应用程序只有在客户端机器上的 Fiddler 开启时才能访问 Web 服务。当后者关闭时,我收到以下错误:

System.ServiceModel.EndpointNotFoundException:在http://ourServer.com/ProductDataServiceV1.svc上没有可以接受消息的端点侦听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: 无法建立连接,因为目标机器主动拒绝它 127.0.0.1:8888

在我的主机文件中

192.168.33.55 ourServer.com

我查看了 Windows 资源管理器中的代理设置,并且所有复选框都已关闭。我还在客户端机器上搜索了“127.0.0.1:8888”,但找不到任何值得注意的东西。

此外,我能够在 Web 浏览器中“看到”服务http://ourServer.com/ProductDataServiceV1.svc 。

我究竟做错了什么?

4

1 回答 1

2

文本:

无法建立连接,因为目标机器主动拒绝它 127.0.0.1:8888

...几乎可以肯定意味着客户端正在尝试将其流量发送到未运行的 Fiddler 实例。通常,.NET 应用程序会在启动时获取代理设置,并且在重新启动之前不会刷新它们。因此,如果您运行了 Fiddler,然后启动了 .NET 应用程序,然后关闭了 Fiddler,则需要重新启动 .NET 应用程序。

现在,还有其他可能性。例如,有人可以自定义 machine.config 或 app.config 文件 (http://www.fiddler2.com/fiddler/help/hookup.asp#Q-DOTNET) 甚至源代码中的 WebProxy 对象以指向直接在 Fiddler 进行故障排除。

于 2012-11-02T15:42:51.930 回答