WCF服务器/客户端连接处理

时间:2008-11-18 20:34:04

标签: vb.net wcf wcf-binding

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

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

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

之后的许多其他例外情况,我将免于你阅读这些例外情况。

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

由于

1 个答案:

答案 0 :(得分:-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.