Вызовите методы-концентраторы SignalR на стороне сервера - PullRequest
0 голосов
/ 12 мая 2018

Я следовал этому руководству (https://blogs.msdn.microsoft.com/webdev/2018/02/27/asp-net-core-2-1-0-preview1-getting-started-with-signalr/), чтобы создать и запустить базовое приложение для чата.

Теперь мне нужно обновить клиентов с сервера. Другими словами, мне нужно иметь возможность вызывать методы хаба на стороне сервера. Я нашел несколько примеров использования более старых версий SignalR / .NET, но ни один из них не хочет хорошо играть с ASP.NET Core 2.1.

Может, кто-нибудь поможет мне с указателем (или примером) о том, как отправлять сообщения с сервера. Я думаю, что конкретный бит, который мне не хватает, это как получить ссылку на активный хаб из кода на стороне сервера, чтобы я мог вызывать его методы.

Такое ощущение, что все должно быть просто, поэтому я, вероятно, упускаю что-то очевидное.

Спасибо, Ник.

1 Ответ

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

Методы-концентраторы предназначены для вызова клиентом.

На сервере вы вводите IHubContext<ChatHub> и получаете доступ к его Clients или Groups свойствам:

// Not hub method
public async Task Send(string message)
{
    await _chatHubContext.Clients.All.SendAsync("SendMessage", message);
}
...