Вызовите метод SignalR Client из обычного класса C#

Я пытаюсь добавить SignalR в мой проект MVC. Мне нужно вызвать клиентский метод SignalR из моей библиотеки классов. Я сделал ниже код

public class CommomHubManager : ICommomHubManager
    {
        readonly IHubContext Context;
        public CommomHubManager()
        {
            Context = Helpers.Providers.HubContextProvider<Hubs.Notifications>.HubContext;
        }
        public Task AddUserToGroup(string groupName)
        {
            return Task.Factory.StartNew(() => {
                Context.Clients.All.addUserToGroup(groupName);
            });
        }
    }

Это не работает, но когда я пытаюсь вызвать другой метод класса Hub из WebApi, он работает просто отлично. Я хочу знать, что можно вызвать метод клиента SignalR из обычного класса C#?

1 ответ

Решение

Как использовать экземпляр концентратора SignalR вне линии хабпиплайна

var context = GlobalHost.ConnectionManager.GetHubContext<CommomHubManager>();
context.Clients.All.Send("Admin", "stop the chat");

Вы можете узнать больше в документации SignalR.

Другие вопросы по тегам