Иногда возникает необходимость использовать конструкцию:

$connection.hub.start().done

несколько раз и в разных местах приложения. При этом такая запись иногда может привести к ошибке вида:

SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.

Чтобы избежать этого, вы можете создать отложенный объект на старте, который будет доступен на всех остальных страницах, например, через глобальную переменную:

// --- outside of the user controls, e.g. on the container page ---
$(function() {
  window.hubReady = $.connection.hub.start();
});
 
// --- in your other pages ---
$(function() {
    window.hubReady.done(function() {
        // call hub method
    });
});

Ссылка на оригинал.

 

 

 

Опубликовано в ASP.NET