此答案特定于“SignalR 版本 2”,最新版本“ASP.NET Core SignalR”可能会有所不同。
SignalR 版本 2:
JS 客户端尝试重新连接一段时间,默认为 110 秒。您可以订阅 connection.stateChanged 事件,并在状态更改时获取更新,以便您可以将其显示给用户,或验证 SignalR 对不同断开连接场景的响应。
在我的测试中,如您所料,状态已正确更新为断开连接和重新连接等。
有关信号器连接的更多信息
function connectionStateChanged(state) {
var stateConversion = {0: 'connecting', 1: 'connected', 2: 'reconnecting', 4: 'disconnected'};
console.log('SignalR state changed from: ' + stateConversion[state.oldState]
+ ' to: ' + stateConversion[state.newState]);
}
connection = $.connection(signalR_Endpoint);
connection.stateChanged(connectionStateChanged);
connection.start({ waitForPageLoad: false });