我正在尝试Elmah和MVC在异常处理方面的关系,并对以下代码的结果感到惊讶。这是一个全新的,直接来自项目模板MVC应用程序,我只在web.config中添加了Elmah模块和处理程序。当然是'throw':
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
throw new Exception("Just for you Elmah!");
return View();
}
抛出错误时的中断设置为关闭,但调试器仍会中断。当我继续时,我得到一个YSOD和一个Elmah错误日志,但似乎HandleError
什么也没做。
JUST IN 我不认为我必须打开自定义错误,因为我认为这只是针对“我的”未处理的错误。我想MVC和我一样都是该服务的客户。
答案 0 :(得分:3)
首先开始ASP.net MVC [HandleError] not catching exceptions然后开始记录How to get ELMAH to work with ASP.NET MVC [HandleError] attribute?
答案 1 :(得分:0)
检查HandleErrorAttribute是否已添加到Global.asax.cs中的GlobalFiltersCollection
public static void RegisterGlobalFilters(GlobalFiltersCollection filters)
{
filters.Add(new HandleErrorAttribute());
}