Angular с signalR: несколько подключений к одному и тому же маршруту

У меня есть код клиента, как показано ниже. У меня есть сигнальный маршрут и имя подключения к концентратору. Я могу подключиться к концентратору и получать события. Теперь мне нужно подключиться к еще одному концентратору для того же маршрута, чтобы получить больше событий.

  this.hubConnection = this.window.$.hubConnection();
    this.hubConnection.url = this.apiUrl  + "api/signalr";
    this.hubProxy = this.hubConnection.createHubProxy("Event1Hub");
    this.hubProxy = this.hubConnection.createHubProxy("Event2Hub"); // When I add this line it is overriding first hub and only connecting to Event2Hub.

Я использую «signalr»: «2.3.0»,


person indra257    schedule 06.03.2019    source источник


Ответы (1)


Вы создаете прокси для Event1Hub, а затем переназначаете этот экземпляр объекта с прокси для Event2Hub. Если вы хотите общаться с обоими концентраторами, вам придется инициализировать отдельные прокси-объекты, чтобы это работало.

this.hubConnection = this.window.$.hubConnection();
this.hubConnection.url = this.apiUrl  + "api/signalr";
this.hubEvent1Proxy = this.hubConnection.createHubProxy("Event1Hub");
this.hubEvent2Proxy = this.hubConnection.createHubProxy("Event2Hub");

Таким образом, hubEvent1Proxy обеспечит связь Event1Hub, а hubEvent2Proxy обеспечит связь Event2Hub.

person zhuber    schedule 07.03.2019