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

时间:2012-02-17 15:54:08

标签: signalr

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

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

我在Firebug中看到我的客户每4分钟提交一个新的POST。是否有一些SignalR事件我可以覆盖以捕获传入的POST并重建当前持久连接的客户端映射?

感谢。

1 个答案:

答案 0 :(得分:4)

确保您使用的是SignalR 0.4。您可以处理OnReconnectedAsync。

https://github.com/SignalR/SignalR/wiki/PersistentConnection

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