Я пытаюсь SignalR
приложение, которое получает уведомление в режиме реального времени, используя SignalR
. Теперь у меня есть приложение, которое отправляет уведомления с идентификатором пользователя в мое приложение, и я храню эти данные в словаре. Теперь, чтобы получить это уведомление, мне нужно выбрать только те записи из словаря, которые равны моему идентификатору пользователя. Как это сделать, поскольку переменная сеанса недоступна в классе?
Ниже приведена функция "Отправить", которая вызывает широковещательное сообщение
public void Send(string name, string message)
{
SortedDictionary<int, string> dicMessage = new SortedDictionary<int, string>();
if (!dicMessage .ContainsKey(nUserID))
{
m_hs.Add(nUserID, message);
}
}
и здесь моя функция получения
public void Receive(string strSessionID)
{
// here I need to first check my user ID but not available
}
Сеансы не поддерживаются в SignalR, вы можете использовать Thread.CurrentPrincipal
или Context.User
чтобы получить имя пользователя, если используете стандартную защиту ASP.NET