Can't find Request.GetOwinContext
The GetOwinContext
extension method is in the System.Web.Http.Owin
dll which needs to be downloaded as a nuget package (The nuget package name is Microsoft.AspNet.WebApi.Owin)
Install-Package Microsoft.AspNet.WebApi.Owin
See msdn here: http://msdn.microsoft.com/en-us/library/system.net.http.owinhttprequestmessageextensions.getowincontext(v=vs.118).aspx
Nuget package here: https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Owin
However, the method is still part of the System.Net.Http
namespace, so the using
definitions you have should be fine.
EDIT
Okay, to clear up some confusion: If you are using an ApiController (i.e MyController : ApiController
) you will require the Microsoft.AspNet.WebApi.Owin
package.
If you are using a regular Mvc controller (i.e. MyController : Controller
) you will need the Microsoft.Owin.Host.SystemWeb
package.
In MVC 5 the pipelines for Api and regular MVC were very different, but often have the same naming conventions. So an extension method in one does not apply to the other. Same for a lot of the action filters etc.
None of these worked for me. I had to compare Nuget packages with one that was created with Identity and I found this Nuget package missing which when added fixed the issue for me
Microsoft.Owin.Host.SystemWeb
Apparently you need it to run OWIN on IIS using the ASP.NET request pipeline (read you're screwed without it!)
In WEB API, you can get the reference using the following:
HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
it works in Identity 2.0