0

我在 ASP.NET MVC 3 中使用默认的 Internet 应用程序。当应用程序中发生错误时,它会自动重定向到默认错误页面,该页面已在视图内的共享文件夹中可用。

我试图弄清楚它是如何发生的?因为我在 web.config 或 Global.asax 中没有看到任何设置,这些设置会在发生错误时强制应用程序重定向到错误页面。

4

2 回答 2

1

它将在 中web.config,它看起来像:

<system.web>
<customErrors mode="Off" />
</system.web>

MVC 有一个默认的异常过滤器 ( HandleError ),它为您提供内置的错误处理。

于 2013-06-26T11:08:48.743 回答
1

它通常Action Filter是由默认注册的全局引起的global.asax

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

但请记住,默认情况下,如果<customErrors mode="Off" />在您的Web.config.

请注意,HandleError过滤器ActionResult使用重定向,它只是将请求的原始内容替换为使用视图Action的自己的内容(除非另有说明)。ViewResultError.cshtml

请参阅http://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.Mvc/HandleErrorAttribute.cs

于 2013-06-26T11:11:52.830 回答