HttpSelfHostServer y HttpContext.Current

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:

  1. Creando una HttpSelfHostConfiguration

    • 1.1 Agregar Service-Resolvers & Routes
    • 1.2 Agregar UserNamePassword-Validator
  2. crear una nueva Instancia de HttpSelfHostServer con la configuración

    • 2.1 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:

  • Descripción general de la architecture de procesamiento HTTP
  • Alojamiento web
  • Autohospedaje

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 )