【问题标题】:custom errors on the server in asp.net mvc5asp.net mvc5 中服务器上的自定义错误
【发布时间】:2016-01-07 04:31:58
【问题描述】:

我在 asp.net mvc 5 中的应用程序出现问题。我尝试创建自定义错误视图。我通过网站创建它: first site, second site

当应用程序像本地站点一样运行时,一切正常,但是当我将它部署到服务器上时,自定义错误页面不起作用。

在网络配置中,我的代码如下所示:

<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/ErrorPages/Error500.cshtml" >
  <error statusCode="500" redirect="~/ErrorPages/Error500.cshtml"/>
  <error statusCode="404" redirect="~/ErrorPages/Error404.cshtml"/>
</customErrors>

...

<httpErrors errorMode="Custom" existingResponse="Replace">
  <remove statusCode="500"/>
  <error statusCode="500" path="/ErrorPages/Error/Error500" responseMode="ExecuteURL"/>
  <remove statusCode="404"/>
  <error statusCode="404" path="/ErrorPages/Error/Error404" responseMode="ExecuteURL"/>
</httpErrors>

错误控制器:

public ActionResult Error500()
    {
        Response.StatusCode = 500;

        return View();
    }

    public ActionResult Error404()
    {
        Response.StatusCode = 404;

        return View();
    }

并查看:

@{
    ViewBag.Title = "Error404";
}

有人知道怎么回事吗?

【问题讨论】:

  • 不应该是path="/ErrorPages/Error500"
  • 区域 - ErrorPages、控制器 - 错误、操作 - Error500
  • 在视图中添加@Response.StatusCode=404

标签: c# asp.net asp.net-mvc


【解决方案1】:

我很确定在您部署时它不起作用的原因是因为您运行的是不同的 IIS 版本。

看看 Marco 在这个帖子中的回答。我无法更好地解释它: ASP.NET MVC 404 Error Handling

【讨论】:

  • 感谢您的回复。工作正常
猜你喜欢
  • 2012-07-12
  • 1970-01-01
  • 1970-01-01
  • 2016-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
相关资源
最近更新 更多