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

廉价感情. 提交于 2019-11-29 10:32:12

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!