Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ELMAH处理MVC中的错误_C#_Error Handling_Asp.net Mvc 4_Elmah.mvc - Fatal编程技术网

C# 使用ELMAH处理MVC中的错误

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”,然后需要禁用全局筛选器句柄错误,否则重定向将无法工作。

我一直在我的MVC4应用程序中使用ELMAH。我从Nuget下载了ELMAH,它为我设置了配置。我知道ELMAH for MVC会捕获控制器中的错误,但其他地方的错误呢?例如,应用程序启动时内部出现错误?我已设法将其重定向到/Shared/文件夹中的MVC4错误页面,但无法将其重定向到该页面。这可能吗?

是-对于本地环境,除非将web.config设置为customErrors mode=“On”defaultRedirect=“Error”,然后需要禁用全局筛选器句柄错误,否则重定向将无法工作。注释掉RegisterGlobalFilters中的HandleErrorAttribute行

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    //filters.Add(new HandleErrorAttribute());
}

为什么我们需要禁用HandleErrorAttribute?因为您正在通过Elmah in Application_Error处理错误。如果您注释掉该行,则需要显示自定义错误页面。你打算怎么做?。这不是一个好的解决办法。您应该创建一个新的自定义错误过滤器,并将其添加到过滤器中,然后您可以对此进行注释。Elmah已经有了一个不需要注册的处理程序。您可以将其保留在中,但在ELMAH中会得到重复的条目。