SignalR Core: как отправить сообщение конкретному пользователю из контроллера или репозитория

В старой версии мы использовали GlobalHost как

var hubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
hubContext.Clients.addNotification("Bla la la ");

Но как это сделать в новой альфа-версии?


person Halid    schedule 10.10.2017    source источник


Ответы (1)


Вам нужно ввести IHubContext<THub>, а затем вы сможете вызывать методы.

class HubMethods
{
    private IHubContext<THub> _hubContext;
    public HubMethods(IHubContext<THub> hubContext)
    {
        _hubContext = hubContext;
    }

    public Task WriteMessageAsync(string method, param object[] args)
    {
        return _hubContext.Clients.All.InvokeAsync(method, args);
    }
}
person Halid    schedule 10.10.2017
comment
Вопрос говорит о конкретном пользователе. Как мы это делаем? - person James Poulose; 24.03.2019
comment
@JamesPoulose docs.microsoft.com/en-us/aspnet/core/signalr/ - person Halid; 25.03.2019