为什么当服务器超时时 IIS 返回 500 状态代码?
我们正在运行 IIS7 & .net 4.0。当服务器由于长时间运行的请求而超时时,会显示错误页面,但错误代码只是 500,而不是我期望的 408 或可能 503。如果超时,我们希望显示不同的错误页面,但如果它只是给出 500 错误,我无法在
部分中进行配置。这是配置问题吗?
We're running IIS7 & .net 4.0. When the server times out due to a long running request, the error page is shown, but the error code is just 500 rather than 408 or possibly 503 that I'm expecting. We want to show a different error page if it's a timeout, but I can't configure this in the <customErrors>
section if it's just giving a 500 error. Is this a configuration issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将这样的代码添加到您的 global.asax.cs 中,
我发现这无法正常工作,并且在没有 Response.End() 的情况下仍然返回 500 错误。鉴于您的问题,我不确定您是否想要进行重定向来显示错误页面,该页面本身会输出 503 而不是上面的内容。
它实际上是 ASP.NET 返回 500 状态,IIS 只是传递它。
You can add code like this into your global.asax.cs
I found this to not work properly and still return a 500 error without the Response.End() in there. Given your question, I'm not sure if you want to do a redirect instead to show an error page that would itself output the 503 instead of in the above.
Its really ASP.NET returning the 500 status, IIS is just passing it along.