信号器捕获保持活动故障/断开连接

问题描述:

因此,我有signalr工作正常,推动我的数据到客户端没有问题。我使用ajax调用实现了自己的保持活动状态,以保持连接的连续性。但我一直在阅读和存在,我想的选项:信号器捕获保持活动故障/断开连接

GlobalHost.Configuration.KeepAlive = TimeSpan.FromSeconds(30); 

但我的问题是,如果它不能发送保活你如何捕捉它的JavaScript结束了吗?

如果这是服务器推送数据以保持连接存活,这是否意味着客户端永远不会知道它是否失败?

或者JavaScript会抛出connection.error?

我希望能够拉出客户端网络电缆,并在XX秒后显示一条消息,指出网络连接丢失。 Atm我有这个工作使用我的ajax调用,但这可能使用keepalive值?

对于除LongPolling以外的每个传输都已实现此功能。

默认情况下,JS客户端将进入重新连接,如果它错过了2保持活着。

如果要绑定到重新连接时,你可以这样做:

$.connection.hub.reconnecting(function() { 
    // Your logic 
}); 

如果你想绑成表示连接可能会进入重新连接可以做以下活动:

$.connection.hub.connectionSlow(function() { 
    // Your logic 
}); 

请注意,默认情况下,客户端将在给定时间后停止尝试重新连接,并转入断开状态以避免不必要的重新连接事件。如果你想确保你的连接总是连接,即使有宕机时间看到我的答案在这里:Client Reconnection

+0

我没有访问这些事件,我使用signalr 0.5.3。我尝试使用事件stateChanged,但它似乎只有时有效... – user1434177 2013-03-01 00:55:48

+0

你需要更新到1.0.0。 0.5.3不再支持。对不起=(。永久重新连接场景不可用于0.5.3 – 2013-03-01 00:58:12

+0

您好,我更新到1.0.0,它的工作原理谢谢你决定使用hub.statechanged事件,但唯一的问题是,它触发页面更改 – user1434177 2013-03-05 23:58:49