Коли користувач входить в систему на моєму сайті, вони вибирають зі спадного меню, до якої групи належать. Під час зворотного входу, коли вони ввійшли в систему, я хотів би призначити їх правильній групі 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);