/ / SignalR Приєднатися до групи з контролера - c #, asp.net-mvc, signalr, signalr-hub

SignalR Join Group From Controller - c #, asp.net-mvc, signalr, signalr-hub

Коли користувач входить в систему на моєму сайті, вони вибирають зі спадного меню, до якої групи належать. Під час зворотного входу, коли вони ввійшли в систему, я хотів би призначити їх правильній групі SignalR.

Відповідно до документації тут, Я можу приєднатися до нього на стороні клієнта за допомогою:

contosoChatHubProxy.server.joinGroup(groupName);

Чи є спосіб призначити групу з контролера? Я можу зателефонувати в центр, як:

var hub = new NotificationHub()
hub.JoinGroup(selectedGroup);

але контекст у методі концентратора нульовий. Чи можливо це, чи я неправильно підходжу до цієї проблеми? Дякую за будь-яку пораду.

Відповіді:

7 для відповіді № 1

Вам не слід створювати такий концентратор, ви можете отримати контекст концентратора та додати користувача до групи за допомогою зовнішнього коду, наприклад:

var hubContext = GlobalHost.ConnectionManager.GetHubContext<NotificationHub>();
hubContext.Groups.Add(connectionId, groupName);