这些是信号服务器具有的配置项
GlobalHost.Configuration.DisconnectTimeout = new TimeSpan(0, 0, 60);
GlobalHost.Configuration.KeepAlive = new TimeSpan(0, 0, 5);
使用此设置,生产中从未有过3年以上的任何不活动。它是作为Windows服务运行的自托管信号服务器,并且有证据表明客户端应用程序和服务器进程在客户端接收到超时异常之后正在运行。即没有崩溃。客户端是与服务器在同一台计算机上运行的另一个Windows服务。
是个例外System.TimeoutException: The client has been inactive since 26/03/2018 07:00:12 and it has exceeded the inactivity timeout of 00:01:10. Stopping the connection.
鉴于以上所有需要得出结论,保持活动消息应该由客户端每5秒发送一次,这是完全出乎意料的,这是一个已知的错误。根据文档,保持活动超时不超过断开超时的1/3。错误消息中的另一个令人费解的信息是,不活动超时为00:01:10,与任何内容都不匹配(默认值或配置的超时都不匹配)。
我错过了一些明显的东西吗?