【发布时间】:2015-05-06 11:42:34
【问题描述】:
我有一个使用 AJAX 调用和 SignalR 的 MVC 5 应用程序。当执行以下操作顺序时,应用程序在 Chrome 中挂起:
-
用户访问页面 A,页面加载后控制台如下所示
SignalR: serverSentEvents transport starting. SignalR: Attempting to connect to SSE endpoint SignalR: EventSource connected. SignalR: serverSentEvents transport connected. Initiating start request. SignalR: The start request succeeded. Transitioning to the connected state. SignalR: Now monitoring keep alive with a warning timeout of 13333.333333333332, keep alive timeout of 20000 and disconnecting timeout of 30000 用户点击页面 A 的链接,调用 AJAX 调用
- 2.AJAX调用成功返回,UI通过jQuery更新
-
用户通过 F5 启动页面刷新,页面加载后控制台如下所示
SignalR: serverSentEvents transport starting. SignalR: Attempting to connect to SSE endpoint SignalR: EventSource connected. SignalR: serverSentEvents transport connected. Initiating start request. 用户尝试通过单击一个简单的链接(带有 href 属性的标签)进行导航,并且网站挂起大约 2 分钟,直到提供新页面
我注意到4.之后控制台不显示
SignalR: The start request succeeded. Transitioning to the connected state.
SignalR: Now monitoring keep alive with a warning timeout of ...
行,所以我猜它与 SignalR 有关。
过去有没有人遇到过如此巨大的延迟并知道如何避免?
我试过了
- 更改 SignalR 的传输协议
- window.onbeforeunload 解决方法
- 不同的jQuery版本
- 还有 1000 件事情我已经记不起来了
非常感谢任何帮助,因为我的想法已经不多了。
【问题讨论】:
-
你解决了吗?我有同样的问题。
-
@Dimitry 不,找不到方法,因此很遗憾需要删除 SignalR 功能
标签: jquery ajax asp.net-mvc-4 signalr