C# MVC 3自定义错误未显示
从一个新的MVC 3项目中,我修改了Index()操作以引发异常。我希望呈现stock Error.chhtml视图,因为我已经在web.config中设置了C# MVC 3自定义错误未显示,c#,asp.net-mvc,asp.net-mvc-3,error-handling,C#,Asp.net Mvc,Asp.net Mvc 3,Error Handling,从一个新的MVC 3项目中,我修改了Index()操作以引发异常。我希望呈现stock Error.chhtml视图,因为我已经在web.config中设置了。相反,当我从VS内运行时,仍然会看到“死亡的黄屏” <system.web> <customErrors mode="On" /> ... …未修改,根据默认项目设置。我运行过IIS express和VS Dev服务器。没有任何内容会导致自定义错误页出现。我缺少什么?您使用的是什么web服务器?IIS7使
。相反,当我从VS内运行时,仍然会看到“死亡的黄屏”
<system.web>
<customErrors mode="On" />
...
…未修改,根据默认项目设置。我运行过IIS express和VS Dev服务器。没有任何内容会导致自定义错误页出现。我缺少什么?您使用的是什么web服务器?IIS7使用web.config的不同部分…这可能是您的问题 见此:
我也看到了同样的问题,这是由于我添加到了\Views\Web.config,而不是\Web.config请看一下这篇关于MVC 3错误显示的文章
它似乎只在
集合中工作,当应用程序中发生异常时,会显示Shared>Error.aspx。我的Global.asax代码是这样的,我没有与您的代码不同的RegisterGlobalFilters
方法。IIS Express可能是IIS7模拟是的,我必须在MVC3应用程序中使用IIS Express,以便我的开发错误消息的行为与我的生产站点一致。
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
<system.web>
<customErrors mode="On" defaultRedirect="Error.html">
<error statusCode="403" redirect="/Error403" />
<error statusCode="404" redirect="/Error404" />
<error statusCode="500" redirect="/Error500" />
</customErrors>
</system.web>
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Auto" defaultResponseMode="ExecuteURL" >
<remove statusCode="403"/>
<remove statusCode="404"/>
<remove statusCode="500"/>
<error statusCode="403" responseMode="ExecuteURL" path="/Error403" />
<error statusCode="404" responseMode="ExecuteURL" path="/Error404" />
<error statusCode="500" responseMode="ExecuteURL" path="/Error500" />
</httpErrors>
</system.webServer>