C# 使用ELMAH处理MVC中的错误
我一直在我的MVC4应用程序中使用ELMAH。我从Nuget下载了ELMAH,它为我设置了配置。我知道ELMAH for MVC会捕获控制器中的错误,但其他地方的错误呢?例如,应用程序启动时内部出现错误?我已设法将其重定向到/Shared/文件夹中的MVC4错误页面,但无法将其重定向到该页面。这可能吗?是-对于本地环境,除非将web.config设置为customErrors mode=“On”defaultRedirect=“Error”,然后需要禁用全局筛选器句柄错误,否则重定向将无法工作。注释掉RegisterGlobalFilters中的HandleErrorAttribute行C# 使用ELMAH处理MVC中的错误,c#,error-handling,asp.net-mvc-4,elmah.mvc,C#,Error Handling,Asp.net Mvc 4,Elmah.mvc,我一直在我的MVC4应用程序中使用ELMAH。我从Nuget下载了ELMAH,它为我设置了配置。我知道ELMAH for MVC会捕获控制器中的错误,但其他地方的错误呢?例如,应用程序启动时内部出现错误?我已设法将其重定向到/Shared/文件夹中的MVC4错误页面,但无法将其重定向到该页面。这可能吗?是-对于本地环境,除非将web.config设置为customErrors mode=“On”defaultRedirect=“Error”,然后需要禁用全局筛选器句柄错误,否则重定向将无法工作。
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
//filters.Add(new HandleErrorAttribute());
}
为什么我们需要禁用HandleErrorAttribute?因为您正在通过Elmah in Application_Error处理错误。如果您注释掉该行,则需要显示自定义错误页面。你打算怎么做?。这不是一个好的解决办法。您应该创建一个新的自定义错误过滤器,并将其添加到过滤器中,然后您可以对此进行注释。Elmah已经有了一个不需要注册的处理程序。您可以将其保留在中,但在ELMAH中会得到重复的条目。