WCF net.tcp连接在9小时1分钟后死亡

Rog*_*mbe 7 wcf

我有一个WCF客户端与WCF服务器通信(在同一台机器上).我们将netTcpBinding与消息级安全性一起使用(使用自定义principalPermissionMode和serviceCredentials的自定义实现).该服务标有InstanceContextMode.PerSession.

WCF服务是在Windows服务(而不是IIS)中自托管的.

为了伪造keep-alive,我们有一个Ping客户端每15秒调用一次的方法.我们在客户端程序的生命周期内保持客户端代理是开放的(因为在我们的例子中初始化会话是昂贵的).

尽管如此,连接在9小时,1分钟和一点点之后被丢弃(在10次测试中,其中7次在9h1m6s后死亡).

WCF日志中唯一的结果是"SocketConnection aborted"消息,后面是一组不同的异常,但通常包括"连接处于故障状态"异常.

在WCF或TCP/IP中是否有一些超时导致这种情况?因为我很难过.

Rog*_*mbe 3

经过大量繁琐的调查:大约 9 小时后,WCF 客户端重新通过服务进行身份验证。我在身份验证步骤中所做的事情是终止现有会话。