Могу ли я получить доступ к сеансам в фоновом потоке?
Как я могу получить доступ к сессиям моего проекта в фоновом потоке в моем приложении C#.net?
это дает мне значение сеанса = ноль.
Любая идея?
3 ответа
Потоки в пуле потоков управляются системой. Эти потоки не привязаны к текущему запросу. Поэтому сессия для них недоступна.
Вы должны быть очень осторожны при использовании фоновых потоков с ASP.NET. Ко времени выполнения потока "текущий" запрос, вероятно, будет завершен. Это означает, что вы не можете получить доступ к странице или запросу, или что-нибудь интересное.
Вы не можете получить доступ к сеансу, но вы можете поделиться своими данными таким же образом, используя: HttpRuntime.Cache
Однако следует помнить о нескольких вещах: в отличие от сеанса срок действия кэша истекает. Также кеш распределяется между всеми веб-пользователями.