下午好,
我遇到了 WCF 和 IntelliTrace 的一个奇怪问题。我有一个应用程序,我正在使用 basicHttpBinding 使用本地托管的 WCF 端点(VS2010 中内置的开发服务器)进行测试。应用程序一直在正常运行:没有异常正在进入应用程序,所有 WCF 调用都在返回数据。
突然,我决定查看 IntelliTrace 输出,并注意到我对 WCF 的第一次调用引发了两个异常:
Exception:Thrown: "No connection could be made because the target machine actively refused it" (System.Net.Sockets.SocketException)
A System.Net.Sockets.SocketException was thrown: "No connection could be made because the target machine actively refused it"
Exception:Caught: "No connection could be made because the target machine actively refused it" (System.Net.Sockets.SocketException)
A System.Net.Sockets.SocketException was caught: "No connection could be made because the target machine actively refused it"
我已将应用程序简化为一个微不足道的用例:
ServiceClient client = new ServiceClient();
string[] output = client.LegacyCheck("username");
Console.WriteLine(output[0]);
Console.WriteLine(client.GetData(65));
我得到了同样的行为。第二个调用没有与之关联的异常。
我很困惑。如果连接被拒绝,那么为什么异常不能弥补应用程序?为什么在 2 次失败的尝试后它会成功?
任何帮助表示赞赏!