W moim kodzie produkcyjnym mamy problem, gdy Request.GetOwinContext() zawsze zwraca wartość null.ASP.Net WebAPI OWIN: Dlaczego Request.GetOwinContext() zwróci wartość null?
I konfiguracja mały kontroler testu WebAPI spróbować wyizolować problem:
public class TestController : ApiController
{
[HttpGet]
public async Task<IHttpActionResult> GetAsyncContext(string provider)
{
if (HttpContext.Current.GetOwinContext() == null)
return this.BadRequest("No HttpContext.Current Owin Context");
if (Request.GetOwinContext() == null)
return this.BadRequest("No Owin Context");
return this.Ok();
}
[HttpGet]
public IHttpActionResult GetContext(string provider)
{
if (HttpContext.Current.GetOwinContext() == null)
return this.BadRequest("No HttpContext.Current Owin Context");
if (Request.GetOwinContext() == null)
return this.BadRequest("No Owin Context");
return this.Ok();
}
}
Na początku myślałem, że może to mieć coś wspólnego z metodą akcja działa asynchronicznie, ale po uruchomieniu powyższego okazuje że w obu wersjach Request.GetOwinContext() zwraca wartość null.
Używam Microsoft.AspNet.WebApi.Owin.5.1.1 (w którym wydaje się, że została zdefiniowana metoda rozszerzenia GetOwinContext()).
Wszelkie pomysły na to, co się tutaj dzieje?
Czy jesteś pewien, że wywoływana jest klasa uruchamiania i wszystkie moduły są rejestrowane? – William