Javascript 如何在网页上保持信号器连接活动?

Javascript 如何在网页上保持信号器连接活动?,javascript,c#,asp.net,asp.net-mvc,signalr,Javascript,C#,Asp.net,Asp.net Mvc,Signalr,我正在使用ASP.NETMVC5和SignalrV2.2.2(最新版本)。在页面空闲一段时间之前,我的应用程序一直工作正常(不确定现在是否长,但空闲时间在5到15分钟之间)。一旦空闲了一段时间,网页上的按钮就不再工作了(因为我假设它们需要一个活动连接) 我首选的解决方法是增加连接超时时间。我该怎么做 如果这是不可能的,我如何检测到连接已在页面上断开和/或我如何在需要时重新建立连接 我的网页使用javascript,与SignalR hub建立连接的代码如下: $.connection.hub.s

我正在使用ASP.NETMVC5和SignalrV2.2.2(最新版本)。在页面空闲一段时间之前,我的应用程序一直工作正常(不确定现在是否长,但空闲时间在5到15分钟之间)。一旦空闲了一段时间,网页上的按钮就不再工作了(因为我假设它们需要一个活动连接)

我首选的解决方法是增加连接超时时间。我该怎么做

如果这是不可能的,我如何检测到连接已在页面上断开和/或我如何在需要时重新建立连接

我的网页使用javascript,与SignalR hub建立连接的代码如下:

$.connection.hub.start()
    .done(function () {
        // Does stuff here...
    })
    .fail(function (e) { console.log(e); });

谢谢

您可以实施以下两种方法:

1.如果连接中断,请重新连接:

$.connection.hub.disconnected(function () {

    setTimeout(function () {
        $.connection.hub.start();
    }, 5000);
});
2.使用
pingInterval
使连接保持活动状态:

$.connection.hub.start({ pingInterval: 6000 })

在信号机进入重新连接模式之前,处理连接断开事件,以便在信号机意识到连接问题时立即显示消息

处理重新连接事件,以在信号机意识到断开连接并进入重新连接模式时显示消息

处理“断开连接”事件,以便在尝试重新连接超时时显示消息。在这种情况下,重新建立与服务器的连接的唯一方法是通过调用Start方法重新启动signar连接,这将创建一个新的连接ID


现在有一个更简单的方法:
。使用自动连接()


请参见

浏览器控制台中的“网络”选项卡应提供更多信息,但我怀疑服务器应用程序正在休眠,这与连接超时无关。我猜你在IIS上?如果是这样的话,是什么触发了您想要发送到前端的事件?文档中包含了您需要的所有内容-这个问题很老,但您想知道解决此问题的方法吗?我有一个类似的问题,几分钟后暂停标签。