Welcome to the navigation

Adipisicing dolore labore non pariatur, velit mollit in cupidatat nulla nisi sit quis ut minim ut esse aliqua, eiusmod aute occaecat ea elit, consectetur laboris. Aliqua, esse sunt fugiat labore voluptate aute ad laborum, in ea et anim ex aliquip proident, magna dolore enim ipsum in minim veniam, ut eiusmod

Yeah, this will be replaced... But please enjoy the search!

Get or construct a HttpContextWrapper inside a Web API Controller

The HttpContextWrapper is an essential part of the ASP.NET Web API since you will be able to not only use the common HttpContext data but also lots of other useful properties and methods. It is not in general recommended to use the HttpContextWrapper in testing and mocking, in such cases you should instad use the HttpContextBase from which the HttpContextWrapper inherits.

private HttpContextWrapper GetHttpContext(HttpRequestMessage request = null)
{
    request = request ?? Request;
 
    if (request.Properties.ContainsKey("MS_HttpContext"))
    {
        return ((HttpContextWrapper)request.Properties["MS_HttpContext"]);
    }
    else if (HttpContext.Current != null)
    {
        return new HttpContextWrapper(HttpContext.Current);
    }
    else
    {
        return null;
    }
}