只有在启用Fiddler时才能访问WCF服务

时间:2012-11-02 12:28:21

标签: .net wcf proxy fiddler

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

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

  

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

在hosts文件中我有

  

192.168.33.55 ourServer.com

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

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

我做错了什么?

1 个答案:

答案 0 :(得分:1)

案文:

  

无法建立连接,因为目标计算机主动拒绝了它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进行故障排除。