我的生产服务器使用以下配置来防止显示错误详细信息:
<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
不是详细错误页面?
答案 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。