如何获得ASP.NET MVC应用程序中的“真正的”HttpContext?

不幸的是,我需要这样做。 我使用ELMAH作为我的错误日志。 在路由到我的error.aspx视图之前,我必须抓取默认的ELMAH错误日志,以便我可以loggingexception。 你曾经可以使用

Elmah.ErrorLog.Default 

但是,现在这已经被标记为过时了。 编译器指示我使用该方法

 Elmah.ErrorLog.GetDefault(HttpContext context) 

MVC的上下文是typesHttpContextBase,它使我们能够嘲笑它(YAY!)。 我们如何处理需要旧式HttpContext的MVC不知道的库?

尝试System.Web.HttpContext.Current 。 它应该做的伎俩。

获取有关单个HTTP请求的HTTP特定信息。

MSDN

 this.HttpContext.ApplicationInstance.Context