SignalR:如何在应用程序池回收后重新获取客户端信息

SignalR:如何在应用程序池回收后重新获取客户端信息,signalr,Signalr,在连接时,我将clientID映射到我在静态变量中构建的其他客户端和订阅信息。这可以正常工作,直到应用程序池回收或我重新编译,然后我丢失映射 客户端连接在应用程序池回收后仍然存在,但我在OnConnectAsync()或OnReceivedAsync()方法中没有看到任何内容 我在Firebug中看到,我的客户每4分钟就提交一篇新的帖子。是否存在一些可以重写的信号器事件,以捕获传入的POST并为当前持久连接重建客户端映射 谢谢。确保您使用的是信号器0.4。您可以处理OnReconnectedAs

在连接时,我将clientID映射到我在静态变量中构建的其他客户端和订阅信息。这可以正常工作,直到应用程序池回收或我重新编译,然后我丢失映射

客户端连接在应用程序池回收后仍然存在,但我在OnConnectAsync()或OnReceivedAsync()方法中没有看到任何内容

我在Firebug中看到,我的客户每4分钟就提交一篇新的帖子。是否存在一些可以重写的信号器事件,以捕获传入的POST并为当前持久连接重建客户端映射


谢谢。

确保您使用的是信号器0.4。您可以处理OnReconnectedAsync


免责声明:如果您将应用程序状态存储在静态变量中,它将永远无法在服务器场上扩展(但您可能不在乎)。

是时候使用Redis或Mem cache了?;-)这是否与1.1.2相关?我们发现SignalR无法在应用程序池回收中生存。LongPolling不会在应用程序池回收中引发服务器端重新连接,但SignalR重新连接正常。