asp.net-mvc - 页面重新加载后,SignalR hub OnDisconnected 在不同浏览器中的触发时间

标签 asp.net-mvc signalr

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

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

最佳答案

无论是否采取 MVC 操作,您都无法确保顺序。

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

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

希望这有帮助!

关于asp.net-mvc - 页面重新加载后,SignalR hub OnDisconnected 在不同浏览器中的触发时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19731132/

相关文章:

c# - 如何在数据库中保存一个特定值

javascript - ASP .NET MVC 5 在 View.cshtml 文件中编写 javascript

java - 如何使用 Microsoft Java-Client 接收 SignalR 广播消息?

javascript - Signal-r安装问题

entity-framework - EntityFramework 正在缓存旧的过时数据,我不知道如何阻止它

c# - 如何将自定义 header 添加到 SignalR 的 Typescript 客户端?

c# - 在 mvc 中进行身份验证并重定向到 silverlight,如何访问经过身份验证的用户?

c# - 如何使用 ActionLink MVC 5 执行以下 sql 查询?

c# - 如何使 .NET Web Api 仅对我的应用程序私有(private)

asp.net-core - SignalR:无法在 Visual Studio 2017 项目中获取 js 库