CustomErrors on不适用于生产

时间:2012-01-13 18:06:11

标签: asp.net-mvc error-handling

我有asp.net mvc 3应用程序。

当用户传递非现有对象的id时,我以这种方式返回404视图:

Response.StatusCode = 404;
return View("404");

本地一切正常,我有自定义错误页面。但在制作方面,我有标准的asp.net 404页面。我尝试将customErrors设置为“on”或“off” - 结果是相同的。

2 个答案:

答案 0 :(得分:1)

<system.webServer>
    ...
    <httpErrors errorMode="Custom" defaultResponseMode="ExecuteURL">
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" prefixLanguageFilePath="" 
            path="/errors/404" responseMode="ExecuteURL" />
    </httpErrors>

此外,还有一种新方法可以从操作方法返回404:

// Response.StatusCode = 404;
// return View("404");
return HttpNotFound();

答案 1 :(得分:0)

在此处找到解决方案:Routing for custom ASP.NET MVC 404 Error page

在system.webServer部分的web配置中设置另一个魔术设置:

<httpErrors errorMode="Detailed" />