【发布时间】:2011-02-18 13:00:45
【问题描述】:
我在我的控制器方法中记录错误:
protected override void OnException(ExceptionContext filterContext)
但是如果我在我的视图页面中输入一个类型,或者输入一个不存在的路由,它似乎没有记录那个错误?
【问题讨论】:
标签: c# asp.net-mvc logging
我在我的控制器方法中记录错误:
protected override void OnException(ExceptionContext filterContext)
但是如果我在我的视图页面中输入一个类型,或者输入一个不存在的路由,它似乎没有记录那个错误?
【问题讨论】:
标签: c# asp.net-mvc logging
为此使用 Elmah 日志记录。无需代码,只需配置。 Elmah 会在内存、xml 或数据库中自动记录错误,并提供非常好的用户界面来查看错误。
参见Scott Hanselman's explanation,以及官方文档Using Elmah with ASP.NET MVC
【讨论】:
那是因为它是一个管道并且您想在不同的范围内记录,要记录此错误,请将以下内容添加到您的 global.asax:
public override void Init()
{
base.Error+=new EventHandler(MvcApplication_Error);
base.Init();
}
管道基本上是这样的:
所以你需要在路由发生之前准备好错误处理程序以捕获它们。
【讨论】: