-1

我的 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 多个客户端尝试连接并获取异常之前解决此问题。

谢谢

4

1 回答 1

-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.
于 2009-01-23T22:54:26.440 回答