[英]How to connect to SignalR Hub continuously using javascript?
我需要從Web App檢查SignalR HUB的可用性。 我需要嘗試在一段時間內從ASP .NET WebApp連接到SignalR HUB,直到服務器聯機。
我正在使用此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()};
第一次運行后
$.connection.hub.start();
連接狀態為
$.connection.hub.state === $.signalR.connectionState.reconnected
我只是使用刷新窗口
window.location.reload()
因此,如果SignalR集線器處於脫機狀態,則會在固定間隔后進行頁面刷新,並且客戶端將嘗試再次連接。
當集線器斷開連接時,只需要調用start方法,而不是重新加載頁面。
$.connection.hub.disconnected(function (error) {
console.log('Disconnection error :' + error)
$.connection.hub.start(function (connection) {
console.log("reconnected:" + connection)
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.