Nel mio codice di produzione stiamo riscontrando un problema in cui Request.GetOwinContext() restituisce sempre null.ASP.Net WebAPI OWIN: Perché Request.GetOwinContext() restituisce null?
I ha installato un piccolo controller di test WebAPI per cercare di isolare il problema:
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();
}
}
In un primo momento ho pensato che potrebbe avere qualcosa a che fare con il metodo di azione in esecuzione in modo asincrono, ma dopo aver eseguito quanto sopra, si trasforma fuori che in entrambe le versioni, Request.GetOwinContext() restituisce null.
Sto usando Microsoft.AspNet.WebApi.Owin.5.1.1 (che è dove sembra che sia definito il metodo di estensione GetOwinContext()).
Qualche idea su cosa sta succedendo qui ???
Sei certa classe di avvio viene chiamato e tutti i moduli sono stati registrati? – William