WCF跟踪错误:尝试对不存在的网络连接执行操作

时间:2010-08-25 20:08:57

标签: .net wcf wcf-binding wcf-client

我设置了WCF服务跟踪,因为大约30个客户端中的1个客户端无法完成与服务器的连接。在该客户端上设置测试用例后,WCF跟踪报告给出了以下例外情况:

  

尝试对不存在的网络连接进行操作

然后

  

由于线程退出或应用程序请求,I / O操作已中止

我找到了适用于Windows 2000 Server和终端服务的this MSDN question和解决方案,并提供了修复此问题的修补程序。

我正在使用Windows 2003 Server,因此该修补程序不适用于我。有没有人知道这个1客户端发生了什么,而其他29个连接正常?

编辑: 尝试打开与服务器的连接时,客户端返回此异常:

  

接收到http://endpointaddress/的HTTP响应时发生错误。这可能是由于服务端点绑定不使用HTTP协议。这也可能是由于服务器中止HTTP请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志。

1 个答案:

答案 0 :(得分:0)

我最近遇到了这个问题。核心问题是调用的背景。

我有很多看起来像这样的代码:

New()
{
    IPC_Server.LoadFirstSetOfData();
}

IPC_Server_LoadFirstSetOfData_Completed(Object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
    IPC_Server.LoadSecondSetOfData();
}

IPC_Server_LoadSecondSetOfData_Completed(Object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
    ShowDataToUser();
}

问题在于,当我进入第一回调时,我正在调用第二个IPC功能。出于某种原因,这样做会“破坏”下一个电话。通过将我们的IPC调用移出回调,我们解决了这个问题。

现在你选择如何将呼叫从回调中移出取决于你。合同可能会改变吗?有一个计时器监视第一个回调进来,然后从计时器执行第二个IPC调用?选择是你的。