SignalR не использует сеанс на сервере

Когда я пытаюсь получить доступ к текущему сеансу HttpContext из HUB, он возвращает null .

Я попытался использовать интерфейс IRequiresSession но он не сработал. Кто-нибудь может мне помочь?

    Соединения SignalR (включая соединение, лежащее в основе всех операций концентратора для клиента) не поддерживают состояние сеанса. Вы можете включить его, если хотите, но мы настоятельно рекомендуем против него, поскольку доступ к сеансу доступа выполняет сериализацию запросов для данного клиента, а это означает, что вы больше не получите преимущества от двусторонней передачи сообщений SignalR, поскольку один запрос блокирует другой при длительном опросе, приемное соединение блокирует любую попытку отправки.

    вы можете просто поддерживать свой сеанс, например, использовать в кеше памяти, http не имеет апатрида, поэтому сервер нужен сеанс для поддержки клиентов, но веб-сокет поддерживает соединение, сервер поддерживает связь с клиентами, по умолчанию не нужны такие вещи, как HttpContext Session.

    Я разрешаю эту проблему со скрытым полем следующим образом:

    1. Добавлен ASP Hiddenfield на странице aspx.
    2. назначил значение сеанса при загрузке страницы (в моем случае на событие клиента кнопки)
    3. отправил значение в концентратор SignalR, используя $ («FieldID»). val ()
    Давайте будем гением компьютера.