【问题标题】:WCF service only accessible when Fiddler is turned onWCF 服务仅在 Fiddler 开启时可访问
【发布时间】:2012-10-23 02:44:19
【问题描述】:

我在一台机器上的客户端应用程序正在尝试访问另一台机器上的 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

在我的主机文件中

192.168.33.55 ourServer.com

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

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

我做错了什么?

【问题讨论】:

    标签: .net wcf proxy fiddler


    【解决方案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 进行故障排除。

    【讨论】:

    • 我检查了源代码,没有任何东西指向 127.0.0.1:8888。但是,我会采纳您的其他建议并尝试一下。感谢您的输入。
    • 我现在在 machine.config 中搜索了“8888”,但没有这样的条目。然后,我在客户端应用程序中查找了相同的字符串,但又没有找到任何东西。我稍后会重新启动客户端并报告它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    相关资源
    最近更新 更多