【问题标题】:signalR interrupted while the page was loading error when navigating from a page从页面导航时,当页面加载错误时,signalR 中断
【发布时间】:2012-11-13 08:53:25
【问题描述】:

当导航离开具有 signalR 连接/连接集线器的页面时,我收到以下错误消息。

的连接“http://localhost:53604/signalr/signalr/connect?transport=serverSentEvents&connectionId=0b308c0d-2122-4e60-a9fa-f6e3f3eb1f4e&connectionData=%5B%7B%22name%22 %3A%22packageactionstatus%20%22%7D%5D&tid=9" 在页面加载时被中断

我确实了解由于导航离开页面而导致连接丢失(这很好),但是在离开当前页面之前是否有安全的方法来停止连接?

【问题讨论】:

    标签: asp.net asp.net-mvc signalr signalr-hub signalr.client


    【解决方案1】:

    你可以在卸载时关闭连接:

    $.connection.hub.stop();
    

    虽然我不确定你为什么关心这个错误。

    【讨论】:

    • 我是否应该假设一旦我拥有一个有连接的页面,连接就会被切断?对吗?
    • @ShaneKm。据我所知,您的假设是正确的。 HTTP 是无状态的。
    【解决方案2】:

    要正确执行此操作,您需要捕获 onbeforeunload 事件,并且您希望这样做:

    window.onbeforeunload = function () {
        $.connection.hub.stop();
    };
    

    用 Firefox 为我解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2019-05-12
      • 2018-06-22
      • 2021-10-04
      • 1970-01-01
      • 2014-06-26
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多