在连接时,我将 clientID 映射到我在静态变量中构建的其他客户端和订阅信息。这工作正常,直到应用程序池回收或我重新编译然后我丢失了我的映射。
应用程序池回收后客户端连接仍然存在,但我在 OnConnectAsync() 或 OnReceivedAsync() 方法中看不到任何内容。
我在 Firebug 中看到我的客户每 4 分钟提交一个新的 POST。是否有一些 SignalR 事件我可以覆盖以捕获传入的 POST 并为当前的持久连接重建我的客户端映射?
谢谢。
在连接时,我将 clientID 映射到我在静态变量中构建的其他客户端和订阅信息。这工作正常,直到应用程序池回收或我重新编译然后我丢失了我的映射。
应用程序池回收后客户端连接仍然存在,但我在 OnConnectAsync() 或 OnReceivedAsync() 方法中看不到任何内容。
我在 Firebug 中看到我的客户每 4 分钟提交一个新的 POST。是否有一些 SignalR 事件我可以覆盖以捕获传入的 POST 并为当前的持久连接重建我的客户端映射?
谢谢。
确保您使用的是 SignalR 0.4。您可以处理 OnReconnectedAsync。
https://github.com/SignalR/SignalR/wiki/PersistentConnection
免责声明:如果您将应用程序状态存储在静态变量中,它将永远无法在农场上扩展(但也许您不在乎)。