C# .Net MVC自定义错误页在IIS8中不起作用

C# .Net MVC自定义错误页在IIS8中不起作用,c#,asp.net-mvc,iis,error-handling,iis-8,C#,Asp.net Mvc,Iis,Error Handling,Iis 8,我有一个.NET MVC应用程序,在使用IIS 8的服务器上运行自定义错误页时遇到问题。在我的整个应用程序中,我会适当地捕获和抛出异常,并在我的错误页面上显示一条消息,该消息是根据它们的违规行为定制的。当在调试中通过VS运行应用程序时,以及当我在IIS(6.1)中的本地主机上配置站点时,这一切在本地都非常有效 然后我将其部署到安装了IIS 8的服务器上。起初,我得到了一个令人讨厌的默认500错误页面: 在做了一点研究之后,我发现我可以将以下内容添加到web.config中,至少可以获得我的友好错

我有一个.NET MVC应用程序,在使用IIS 8的服务器上运行自定义错误页时遇到问题。在我的整个应用程序中,我会适当地捕获和抛出异常,并在我的错误页面上显示一条消息,该消息是根据它们的违规行为定制的。当在调试中通过VS运行应用程序时,以及当我在IIS(6.1)中的本地主机上配置站点时,这一切在本地都非常有效

然后我将其部署到安装了IIS 8的服务器上。起初,我得到了一个令人讨厌的默认500错误页面:

在做了一点研究之后,我发现我可以将以下内容添加到web.config中,至少可以获得我的友好错误页面,尽管没有自定义文本:

<system.webServer>
    <httpErrors errorMode="Detailed" />
</system.webServer>

有什么想法吗?

我也有同样的问题,通过将配置更改为:

<system.web>
    <customErrors mode="RemoteOnly">
      <error statusCode="404" redirect="/Error/E404" />
    </customErrors>
</system.web>

请将/Error/E404更改为您的自定义错误路径。然后我还补充说:

  <system.webServer>
    <httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>
  </system.webServer>

我还通过Plesk做了一些更改,但我相信httpErrors系列最终使其正常工作

  <system.webServer>
    <httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>
  </system.webServer>