2008-11-18 80 views
-1

我的WCF服务器和客户端连接出现问题。WCF服务器/客户端连接处理

如果我正常使用我的服务和客户端,意味着我的客户端通过正常操作(myclient.Close())连接并断开连接,一切正常。但在服务器正在运行的情况下,我使用Visual Studio的“停止”按钮退出我的客户端应用程序,我的服务器和客户端通信似乎搞乱了,服务器没有正确清理连接,并且任何新的连接从我的客户端是非常不稳定的,只有某些函数调用工作,直到一个函数将抛出一个例外:

System.ServiceModel.CommunicationException:接收HTTP响应http://localhost:8080/Design_Time_Addresses/Service_Beta1/Service时发生错误。这可能是由于服务端点绑定不使用HTTP协议。这也可能是由于HTTP请求上下文被服务器中止(可能是由于服务关闭)。查看服务器日志获取更多详细信---> System.Net.WebException:底层连接已关闭:接收时发生意外错误。

之后还有很多其他的例外,我会免除你的阅读。

如果我关闭服务器和客户端并重新启动两者,我所有的通话都可以正常工作,直到我在Visual Studio中执行“停止”命令为止。我如何强制服务器清理不正确的关闭连接?我知道在生产中“停止”按钮已经消失,理论上应该没有问题,但我不希望因客户端崩溃或断开连接而导致服务器连接问题。因为不可避免会有这些情况。在您有20多个客户端尝试连接并获取异常之前,最好先解决此问题。

谢谢

回答

-2

对不起,花了这么长的时间来发布回复。我的问题是我传递一个数据表到客户端,但没有给表创建一个名称。见下文。

Dim dt As New DataTable() 'Passing just a blank un-named table to client gave errors. 
Dim dt As New DataTable("Table") 'Naming the table like so passes just fine.