套接字连接中止 - WCF

Lir*_*ran 2 wcf nettcpbinding

我有一个简单的客户端服务器应用程序使用WCF(netTcpBinding)当我启动服务器并通过客户端发送消息时,每件事都可以正常工作,但是当我手动关闭服务器并再次打开它时(不关闭客户端应用程序)所有)下次客户端尝试向服务器发送消息时,我得到此异常(在客户端):

套接字连接已中止.这可能是由于我们的消息处理错误或远程主机超出接收超时或者网络资源问题造成的.本地套接字超时为'00:00:59.9843903'.

如果我使用basicHttpBinding,则不会发生问题.

是谁知道为什么会出现这个问题??? 谢谢,丽然

Lad*_*nka 5

这是预期的行为.关闭服务器时,服务器上的TCP连接已关闭,您无法再从客户端调用它.再次启动服务器无济于事.您必须在客户端上捕获异常,Abort当前代理并创建并打开新代理.

使用BasicHttpBinding它可以工作,因为NetTcpBinding在代理的整个生命周期中使用单个通道(通道绑定到TCP连接),而BasicHttpBinding为每个调用创建一个新通道(它重用现有的HTTP连接或者如果连接不存在则创建新的连接).