How can you get the "real" HttpContext within an ASP.NET MVC application?

asp.net MvcElmah

asp.net Mvc Problem Overview


Unfortunately, I need to do this. I'm using ELMAH for my error log. Before I route to my error.aspx view, I have to grab the default ELMAH error log so I can log the exception. You used to be able to use

Elmah.ErrorLog.Default

However, this is now marked as obsolete. The compiler directs me to use the method

Elmah.ErrorLog.GetDefault(HttpContext context)

MVC's context is of type HttpContextBase, which enables us to mock it (YAY!). How can we deal with MVC-unaware libraries that require the old style HttpContext?

asp.net Mvc Solutions


Solution 1 - asp.net Mvc

Try System.Web.HttpContext.Current. It should do the trick.

Gets HTTP-specific information about an individual HTTP request.

MSDN

Solution 2 - asp.net Mvc

this.HttpContext.ApplicationInstance.Context

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser1228View Question on Stackoverflow
Solution 1 - asp.net MvcSHODANView Answer on Stackoverflow
Solution 2 - asp.net Mvcrodrigo caballeroView Answer on Stackoverflow