gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 00:12:19 26 4
gpt4 key购买 nike

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

这被完全忽略

  <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 native 而不是我的应用程序的事实之外,它完全规避了 Elmah 正确记录我的 404 异常。

编辑:为了避免任何此类建议,我只在 customErrors 停止工作后添加了 httpErrors 配置,这样我就可以使用任何东西了。

最佳答案

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

  Response.TrySkipIisCustomErrors = true;

在您的错误页面中。之后,您的错误消息应该可以正常显示。

关于托管在 IIS7 上的 ASP.NET 应用程序忽略自定义错误并回退到 IIS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3166523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com