我遇到了这个情况,当我的集线器的OnDisconnected事件发生在Chrome浏览器页面刷新的asp.net mvc操作之后,但是对于FireFox和IE,行为不同,事件在相关的asp之前触发.net mvc动作。这有什么固定的规则吗?
订单对我来说很重要,至少我希望它对所有浏览器都一样,有没有办法确保订单相同?
答案 0 :(得分:2)
MVC行动与否无法确保订单。
原因如下:当用户尝试离开具有活动SignalR连接的页面时,SignalR将尝试“尽力而为”尝试通知服务器客户端连接将被停止。如果我们的“尽力而为”尝试无法到达服务器,服务器将在稍后的可配置“DisconnectTimeout”之后“忘记”用户,此时将触发OnDisconnected事件。如果我们的“尽力而为”尝试成功,OnDisconnected事件将立即触发。
当用户离开页面并依赖于客户端时,看到此行为是运行的,它可能不一致。
希望这有帮助!