2

当我的集线器的 OnDisconnected 事件发生在 Chrome 浏览器的页面刷新时的 asp.net mvc 操作之后,我遇到了这种情况,但是对于 FireFox 和 IE,行为不同,该事件在相关的 asp.net mvc 操作之前触发。这有什么固定的规则吗?

顺序对我来说很重要,至少我希望所有浏览器都相同,有什么办法可以确保相同的顺序?

4

1 回答 1

3

MVC 动作与否你无法确保顺序。

原因如下:当用户尝试离开具有活动 SignalR 连接的页面时,SignalR 将“尽最大努力”尝试通知服务器客户端连接将被停止。如果我们的“尽力而为”尝试未能到达服务器,服务器将在稍后可配置的“DisconnectTimeout”之后“忘记”用户,此时 OnDisconnected 事件将触发。如果我们的“尽力而为”尝试成功,OnDisconnected 事件将立即触发。

看到此行为在用户离开页面时运行并且依赖于客户端,因此可能会不一致。

希望这可以帮助!

于 2013-11-01T18:04:18.700 回答