C# 如何使用javascript连续连接到SignalR Hub?
我需要从Web应用程序检查SignalR HUB的可用性。我需要尝试在服务器联机之前的间隔内从ASP.NET WebApp连接到SignalR HUBC# 如何使用javascript连续连接到SignalR Hub?,c#,javascript,asp.net,signalr,C#,Javascript,Asp.net,Signalr,我需要从Web应用程序检查SignalR HUB的可用性。我需要尝试在服务器联机之前的间隔内从ASP.NET WebApp连接到SignalR HUB if ($.connection.hub && $.connection.hub.state === $.signalR.connectionState.reconnected) {window.location.reload()}; 我正在使用这个javascript interval = setInterval(checki
if ($.connection.hub && $.connection.hub.state === $.signalR.connectionState.reconnected) {window.location.reload()};
我正在使用这个javascript
interval = setInterval(checkifconnected, 3000);
function checkifconnected() {
if ($.connection.hub && $.connection.hub.state ===
$.signalR.connectionState.disconnected) {
$.connection.hub.start();
if ($.connection.hub && $.connection.hub.state ===
$.signalR.connectionState.connected) {
clearInterval(interval);
}
};
if ($.connection.hub && $.connection.hub.state === $.signalR.connectionState.reconnected) {window.location.reload()};
问题是,如果集线器启动一次,而服务器不在线,则应用程序不会重新连接到集线器。如何解决它?已解决
if ($.connection.hub && $.connection.hub.state === $.signalR.connectionState.reconnected) {window.location.reload()};
在第一次运行之后
if ($.connection.hub && $.connection.hub.state === $.signalR.connectionState.reconnected) {window.location.reload()};
$.connection.hub.start();
连接状态为
if ($.connection.hub && $.connection.hub.state === $.signalR.connectionState.reconnected) {window.location.reload()};
$.connection.hub.state === $.signalR.connectionState.reconnected
我只是使用刷新窗口
if ($.connection.hub && $.connection.hub.state === $.signalR.connectionState.reconnected) {window.location.reload()};
window.location.reload()
因此,如果SignalR hub脱机,页面刷新将在固定时间间隔后发生,并且客户端正在尝试再次连接。如果hub断开连接,您可以调用start方法,而不是重新加载页面
if ($.connection.hub && $.connection.hub.state === $.signalR.connectionState.reconnected) {window.location.reload()};
$.connection.hub.disconnected(function (error) {
console.log('Disconnection error :' + error)
$.connection.hub.start(function (connection) {
console.log("reconnected:" + connection)
});
});
这可能会有帮助,我检查过了。我使用的是
$.connection.hub.disconnected(function(){setTimeout(function(){…});
但是,如果我连接一次,一切正常。但是如果服务器在一段时间内处于脱机状态,如何重新连接到服务器?如何等待服务器?例如,每5秒检查一次服务器是否可用?