asp.net mvc 2 customErrors iis 7.5无效

时间:2010-12-19 16:25:06

标签: asp.net asp.net-mvc-2 elmah custom-errors

我的网站在asp.net mvc2上运行,我正在使用elmah进行错误捕获,而不是处理错误的文件

如果我浏览到非现有页面,如 的 'http://本地主机:8095 /家庭/城市/ 1 / MTL / KO' 我收到IIS错误404页

在web.config中

我配置了自定义错误

      

我甚至尝试在global.asax application_error中设置代码并且它没有被困在那里

为什么我会收到IIS 404错误页面?

现在我考虑一下,我想记录404错误,我会在asp.net mvc中捕获这些错误吗?

由于

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但我想回答:

Elmah已过滤您可以申请: http://code.google.com/p/elmah/wiki/ErrorFiltering

启用错误过滤后,您需要修改Gloabal.asax.cs以过滤错误:

public static void RegisterRoutes(RouteCollection routes)
{               
    routes.IgnoreRoute("elmah.axd"); //Add this line to the register routes.
}

//ELMAH Filtering
protected void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
    FilterError404(e);
}

protected void ErrorMail_Filtering(object sender, ExceptionFilterEventArgs e)
{
    FilterError404(e);
}

//Dimiss 404 errors for ELMAH
private void FilterError404(ExceptionFilterEventArgs e)
{
    if (e.Exception.GetBaseException() is HttpException)
    {
        HttpException ex = (HttpException)e.Exception.GetBaseException();

        if (ex.GetHttpCode() == 404)
        {
            e.Dismiss();
        }
    }
}

但坦率地说,我喜欢记录包括404错误在内的所有内容。这使我可以更好地了解用户如何进入或发现新功能,以便在需要时提供支持。

其他资源: http://joel.net/logging-errors-with-elmah-in-asp.net-mvc-3--part-3--filtering http://ivanz.com/2011/05/08/asp-net-mvc-magical-error-logging-with-elmah/