ASP.NET MVC 5和Elmah的自定义错误页面

Rol*_*ndo 5 elmah asp.net-mvc-5

我正在尝试在asp mvc 5中制作工作自定义错误页面,但由于一些奇怪的原因,当时测试我的页面,从elmah我正在记录两个错误(真正的错误我正在测试和错误页面找不到相关的错误:

未找到视图"错误"或其主控,或者没有视图引擎支持搜索的位置.搜索了以下位置:〜/ Views/HotTowel/Error.aspx~/Views/HotTowel/Error.ascx~/Views/Shared/Error.aspx~/Views/Shared/Error.ascx~/Views/HotTowel/Error. cshtml~/Views/HotTowel/Error.vbhtml~/Views/Shared/Error.cshtml~/Views/Shared/Error.vbhtml

我正在调查这个网址http://doingthedishes.com/2011/09/10/custom-errors-mvc-3-elmah.html,其中作者有相同的问题,但使用asp.net mvc 3.阅读后,我尝试删除对HandleErrorAttribute的调用:

  public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        //filters.Add(new HandleErrorAttribute());
    }
}
Run Code Online (Sandbox Code Playgroud)

但问题仍然存在:我可以看到我的自定义页面,但asp.net mvc抛出两个例外.有帮助吗?

解决方案是重写一个派生自HandleErrorAttribute的类?喜欢这篇文章:继续获取使用Elmah和asp.net mvc 4时未找到视图"错误"

Rol*_*ndo 8

您可以从ELMAH.MVC 2.0.2中执行以下操作:

  1. 设置disableHandleErrorFiltertrue:

    <add key="elmah.mvc.disableHandleErrorFilter" value="true" />
    
    Run Code Online (Sandbox Code Playgroud)
  2. filters.Add(new HandleErrorAttribute());FilterConfig班级中删除:

    public class FilterConfig
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
          // filters.Add(new HandleErrorAttribute()); // <-- comment out
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)