IIS7 上托管的 ASP.NET 应用程序忽略自定义错误并回退到 IIS 错误

ASP.NET Application hosted on IIS7 that is ignoring custom errors and falls back to IIS errors(IIS7 上托管的 ASP.NET 应用程序忽略自定义错误并回退到 IIS 错误)
本文介绍了IIS7 上托管的 ASP.NET 应用程序忽略自定义错误并回退到 IIS 错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我有一个 C# Web 表单 ASP.NET 4.0 Web 应用程序,由于某种原因,我的 web.config 的 system.web 部分中定义的自定义错误被完全忽略,它会回退 IIS 错误.

I have a C# web forms ASP.NET 4.0 web application that uses Routing for URLs for some reason custom errors defined in the system.web section of my web.config is entirely ignored and it will fall back the IIS errors.

这完全被忽略了

  <system.web>
    <customErrors mode="On">
      <error statusCode="500" redirect="~/Error" />
      <error statusCode="404" redirect="~/404" />
      <error statusCode="403" redirect="~/Error" />
    </customErrors>
  </system.web>

这部分接管

  <system.webServer>
    <httpErrors>
      <!--<clear />-->
      <remove statusCode="500" subStatusCode="-1" />
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" subStatusCode="-1" path="/App1/404" responseMode="Redirect" />
      <error statusCode="500" prefixLanguageFilePath="" path="/App1/Error" responseMode="Redirect" />
    </httpErrors>
  </system.webServer>

这将是一个小小的不便,除了它回退到 IIS 原生而不是我的应用程序这一事实之外,它完全绕过 Elmah 正确记录我的 404 异常.

This would be a minor inconvenience except that by the fact it falls back to IIS native instead of my application it completely circumvents Elmah logging my 404 exceptions correctly.

为了避免任何此类建议,我只在 customErrors 停止工作后添加了 httpErrors 配置,所以我会得到任何东西.

Just to avoid any suggestions of such I only added the httpErrors configuration after customErrors stopped working so I would have anything.

推荐答案

要禁用必须设置的 IIS 错误消息

To disable the IIS error messages you have to set

  Response.TrySkipIisCustomErrors = true;

在您的错误页面中.之后,您的错误消息应该没有问题地显示.

in your error page. After that, your Error messages should show without problem.

这篇关于IIS7 上托管的 ASP.NET 应用程序忽略自定义错误并回退到 IIS 错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

System.Net.Http could not be resolved in the currently targeted framework .NET 4.0(System.Net.Http 在当前目标框架 .NET 4.0 中无法解析)
How can I publish site from command line with some publish profile?(如何使用一些发布配置文件从命令行发布站点?)
Disable MSBuild TypeScript Compile(禁用 MSBuild TypeScript 编译)
AfterPublish script doesn#39;t run when I publish a web app(当我发布 Web 应用程序时,AfterPublish 脚本不运行)
ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json(ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json)
MSBuild DeployOnBuild=true not publishing(MSBuild DeployOnBuild=true 不发布)