ASP.Net WebAPI OWIN: почему Request.GetOwinContext () возвращает ноль?
В моем производственном коде у нас есть проблема, когда Request.GetOwinContext () всегда возвращает ноль.
Я установил небольшой тестовый контроллер WebAPI, чтобы попытаться изолировать проблему:
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();
}
}
Сначала я подумал, что это может быть связано с асинхронным выполнением метода действия, но после выполнения вышеизложенного выясняется, что в обеих версиях Request.GetOwinContext () возвращает значение null.
Я использую Microsoft.AspNet.WebApi.Owin.5.1.1 (где, похоже, определен метод расширения GetOwinContext ()).
Есть идеи о том, что здесь происходит ???