2017-01-03 61 views
0

我的生产服务器使用以下配置,以避免显示错误的详细信息:如何使用StatusCode 500创建页面,errorMode =“DetailedLocalOnly”?

<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

貌似净想过这样的场景:

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。