我知道您可以使用控制器上的 [HandleError] 属性将用户重定向到共享(甚至自定义)Error.cshtml页面,以获取未处理的异常。
但是,我还想将这些异常记录到数据库和/或平面文件中。
首选方法是什么?
答案 0 :(得分:1)
您可以使用Elmah来记录错误。
答案 1 :(得分:0)
您可以使用ELMAH to log errors to log file or to database in an HandleError Attribute
您可以选择使用Enterprise Library Exception Handling Application Block
另一个选择是使用Log4Net
答案 2 :(得分:0)
我同意ELMAH是最好的选择,但是你应该检查Elmah.MVC包,而不是实现你自己的HandleError属性(如提议的那样),这会将ELMAH轻松集成到你的MVC应用程序中。
答案 3 :(得分:0)
我创建了一项新服务,可以自动捕获所有未处理的错误(并显示错误页面):http://blog.gauffin.org/2014/01/onetrueerror-and-asp-net/
另一种选择是覆盖global.asax中的Error method。它是唯一可以捕获所有错误的地方(因为MVC错误过滤器只捕获MVC错误)。