Служба Azure SignalR в базовом приложении ASP.NET - PullRequest
0 голосов
/ 09 мая 2018

Я читаю очень ограниченную информацию об услуге Azure SignalR, а также краткое руководство и хочу убедиться, что я правильно понимаю.

Кажется, у нас все еще есть hub, и, если я правильно понимаю, функция службы Azure SignalR заключается в простой передаче сообщений подключенным клиентам.

В моем случае я сохраняю историю чата, поэтому сначала нажимая hub, я могу по-прежнему использовать свою внутреннюю логику, чтобы сохранить историю чата или выполнить любую другую обработку, которая может потребоваться. Затем просто разрешите службе Azure SignalR передавать данные подключенным клиентам.

Основным преимуществом, по-видимому, является масштабирование услуги.

Я правильно понял?

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Да, вы совершенно правы.

Вы будете использовать точно такой же API-интерфейс ASP.NET Core SignalR для написания бизнес-логики, что означает, что вы можете сохранять все, что захотите, когда сообщения от клиентов попадают в ваши концентраторы.

Служба Azure SignalR будет основным транспортным средством между вашим сервером приложений и подключенными клиентами. Например, если вы хотите передавать сообщения всем своим клиентам, вы фактически отправляете только одно сообщение в службу Azure SignalR, и служба будет транслировать сообщение всем клиентам за вас. Так что вам не нужно беспокоиться о масштабировании. Служба Azure SignalR выполнит масштабирование за вас.

0 голосов
/ 09 мая 2018

Вы правильно поняли.

SignalR еще не готов к работе (если говорить о ASP.NET Core), SignalR для ASP.NET MVC существует уже некоторое время (стабильно).

SignalR состоит из 2 частей: сервер и клиент. Сервер, как вы описываете: «концентратор», который вы можете использовать для передачи информации клиентам.

На веб-странице вы загружаете часть сгенерированного javascript (сгенерированного автоматически из ваших определений хаба). По сути, вы позволяете посетителям вашего сайта (клиентам) подключаться к концентратору через механизм signalR (signalR выберет правильный способ подключения в зависимости от браузера), а затем «подписываетесь» на различные методы, которые вы используете в своем концентраторе.

Работа проста: всякий раз, когда вы вызываете код в своем концентраторе (может быть от клиентов или из внутреннего кода), связь автоматически обрабатывается для вас всеми подписанными клиентами.

Примечание. Если вы запускаете это в веб-приложении Azure: включите параметр «всегда включен» и установите переключатель «websockets» в положение «включено», в противном случае вы увидите странное поведение.

Примечание 2: RC-версия для signalR core 1.0 только что была выпущена (7 мая 2018 г.), поэтому может пройти некоторое время, прежде чем это программное обеспечение станет стабильным и доступным через общедоступные каналы nuget / npm.

...