Estoy trabajando en una aplicación web ASP.NET hospedada por mí mismo. Todo funciona bien, pero ahora estoy luchando con HttpContext
:
Necesito guardar las informaciones de sesión del cliente. Pero HttpContext.Current
es siempre nulo. Por lo tanto, es obvio que mi HttpSelfHostServer
no funciona con la HttpContext-Class estática.
Lo que no entiendo es: ¿por qué …? Y no puedo encontrar una manera de decir que ni HtttpSelfHostServer
ni HttpSelfHostConfiguration
funcionen con HttpContext
.
Esto es lo que estoy haciendo:
Creando una HttpSelfHostConfiguration
Service-Resolvers
& Routes
UserNamePassword-Validator
crear una nueva Instancia de HttpSelfHostServer con la configuración
server.OpenAsync().Wait()
Cualquier ayuda sobre cómo puedo decirle a mi servidor que trabaje con HttpContext.Current
es muy apreciado. ¡Aclamaciones!
No podrá usar HttpContext en un entorno alojado automáticamente. HttpContext es establecido por la canalización ASP.Net, que no tendrá si no se ejecuta bajo IIS / ASP.Net.
El HttpContext solo está disponible en el modo Alojamiento web, en el que HttpControllerHandler crea la solicitud.
FYI- Los invito a leer los siguientes excelentes artículos de Pedro Felix para comprender mejor los diferentes modelos de alojamiento:
Para evitar este problema (creo que estoy usando muchos componentes en la actualidad que necesitan funcionar igual de bien en Web API y MVC), puede probar este antiguo código que escribí para devolverle una interfaz tipo HttpContext que funciona en ambos sabores. También está en NuGet, aquí está la fuente: Enlace en github (o Link en Nuget )