У меня есть следующие сценарии передачи сообщений
Клиент -> Вызывает SignalR -> Вызывает NServiceBus -> Обрабатывает сообщение внутри -> Вызывает службу шлюза NServiceBus с результатом -> Вызывает концентратор SignalR -> Обновляет клиент с результатом.
При выборе между использованием SignalR и длительным опросом мне нужно знать, является ли SignalR масштабируемым. Итак, выполняя домашнюю работу, я наткнулся на SignalR на служебной шине Azure. Настройка выполняется при запуске приложения Global.asax.
В конечном итоге мне нужно сделать это изнутри обработчика NServiceBus:
var context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
context.Clients.Group(group).addMessage(message);
Вопрос в том, будет ли контекст поднят, потому что я (потенциально) вызываю его с другого компьютера, отличного от того, к которому был подключен клиент?
Также какова схема сегментирования, которую реализация SignalR использует для заполнения тем? Я знаю, что могу настроить его для использования N-количества тем, но как он на самом деле определяет, какое сообщение относится к каким темам и является ли оно релевантным для внешнего вызывающего абонента PoV.