问题
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?
回答1:
Try System.Web.HttpContext.Current
. It should do the trick.
Gets HTTP-specific information about an individual HTTP request.
MSDN
回答2:
this.HttpContext.ApplicationInstance.Context
来源:https://stackoverflow.com/questions/153630/how-can-you-get-the-real-httpcontext-within-an-asp-net-mvc-application