HttpSelfHostServer и HttpContext.Current
Я работаю над собственным хостингом ASP.NET для веб-приложений.
Все работает нормально, но теперь я борюсь с HttpContext
:
Мне нужно сохранить сессионную информацию от клиента.
Но HttpContext.Current
всегда равно нулю.
Поэтому очевидно, что мой HttpSelfHostServer
не работает со статическим HttpContext-Class.
Я не понимаю, почему...?
И я не могу найти способ сказать ни HtttpSelfHostServer
, ни HttpSelfHostConfiguration
работать с HttpContext
.
Вот что я делаю:
Любая помощь, как я могу сказать, что мой сервер работает с HttpContext.Current
, очень ценится!
Ура!
Ответы
Ответ 1
Вы не сможете использовать HttpContext в собственной среде. HttpContext устанавливается конвейером ASP.Net, который у вас не будет, если вы не работаете под IIS/ASP.Net.
HttpContext доступен только в режиме веб-хостинга, в котором HttpControllerHandler создает запрос.
FYI- Я приглашаю вас прочитать следующие замечательные статьи от Педро Феликса, чтобы лучше понять разные модели хостинга:
Ответ 2
Чтобы обойти эту проблему (я нахожу, что в наши дни я использую много компонентов, которые должны одинаково хорошо работать в Web API и MVC), вы можете попробовать эту старую прокладку, которую я написал, чтобы вернуть интерфейс HttpContext который работает в обоих вариантах. Это также на NuGet, здесь источник:
Ссылка на github
(или Ссылка на Nuget)