c#如何创建一个网页 StatusCode 500 和 errorMode ="DetailedLocalOnly"?

标签: Asp.net IIS C#
发布时间: 2017/2/25 3:46:44
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我生产服务器使用以下配置来防止显示错误详细信息︰

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

我有一个页面 ( a.aspx ),转移到 ( b.aspx ) 奇怪的事情发生的时候 (使用 Server.Transfer )。 b.aspx 设置其 StatusCode 到 500。当此状态代码设置为 500 或 404 时,不显示的页面。呈现了从 IIS 的自定义错误页。

如果我不设置一个状态代码,一切都很好。但现在一些 AJAX 将无法工作,因为它认为 a.aspx 呈现成功。

IIS 如何指示, b.aspx详细的错误的网页?

解决方法 1:

看起来像.Net 想到这种情况下︰

Response.StatusCode = 500;
Response.TrySkipIisCustomErrors = true;

备注︰

只有当您的应用程序承载于 IIS 7.0 中使用 TrySkipIisCustomErrors 属性。当运行在经典模式下的 IIS 7.0 中的 TrySkipIisCustomErrors 属性默认值是 true。在集成模式下运行时,TrySkipIisCustomErrors 属性默认值为 false。

资料来源︰ https://msdn.microsoft.com/en-us/library/system.web.httpresponse.tryskipiiscustomerrors.aspx

不知道这是如何在 IIS 中 > 7.0。

赞助商