当我们使用singalr制作推送的时候,可能会遇到这样的问题。
我遇到的情况是这样。服务器端使用singalr,而客户端使用CS结构的c#代码。
经过测试,发现这样的问题。
即,客户端长时间开启,会导致失效,接收不到服务器端发来的信息。这到底是怎样的情况呢?
经过多次研究测试终于发现。
当客户端长时间开启而电脑又没有使用的情况下,电脑会进入“锁定”状态,或者进入屏幕保护程序状态,一旦通过解锁再次进入桌面,singalr客户端就和失效了。接收不到信息,但是通过验证,客户端却未掉线。
为解决这个问题,我使用的方法是,让计算机永久不进入锁定状态,让屏幕永久不进入屏幕保护程序状态。
我们可以通过如下的设置方法,达到上面的需求。
控制面板→所有控制面板项→电源选项,然后,如下图
将“平衡”、“节能”和“高性能”这三项,点击右边的“更改计划设置”,分别将“使计算机进入睡眠状态”改为从不。
这样就解决问题了。