如何使用StatusCode 500和errorMode =“DetailedLocalOnly”创建页面?

时间:2017-01-03 10:29:28

标签: c# asp.net iis

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

<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 个答案:

答案 0 :(得分:1)

看起来.Net想到了这种情况:

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

说明:

  

TrySkipIisCustomErrors属性仅在您的应用程序中使用   在IIS 7.0中托管。在IIS 7.0中以经典模式运行时   TrySkipIisCustomErrors属性的默认值为true。在跑步时   集成模式下,TrySkipIisCustomErrors属性的默认值为   假的。

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

不知道这在IIS中是如何工作的&gt; 7.0。