获取 asp.net (IIS7) 中 http 状态代码的详细描述
我已经设置了一个自定义错误页面来处理通过我的网站抛出的错误。
我在 Godaddy 共享主机(“豪华”帐户)上运行带有 IIS 7.0 的 asp.net 3.5。
通常,如果我设置 Response.StatusCode = 412,服务器会输出:
服务器错误
412 - 在 Web 服务器上评估时,客户端设置的先决条件失败。
由于请求标头中设置的先决条件,请求未完成。
先决条件可防止所请求的方法应用于预期之外的资源。前置条件的一个示例是测试客户端页面缓存中的过期内容。
我已经弄清楚如何防止服务器自动输出上述消息,而是执行我的自定义错误页面。我现在所困扰的是弄清楚如何访问错误消息的长描述。
Response.StatusDescription 是“前提条件失败” - 这是预期的......但并不是我真正想要的。
有没有办法获取服务器通常发送的长描述?
*请注意,为了防止出现默认错误消息,我必须在将 Response.StatusCode 设置为 412 后立即设置 Response.TrySkipIisCustomErrors = true。
I've set up a custom error page to handle errors thrown through my site.
I'm running asp.net 3.5 with IIS 7.0 on Godaddy shared hosting ("deluxe" account).
Normally, if I set Response.StatusCode = 412 the server outputs:
Server Error
412 - Precondition set by the client failed when evaluated on the Web server.
The request was not completed due to preconditions that are set in the request header.
Preconditions prevent the requested method from being applied to a resource other than the one intended. An example of a precondition is testing for expired content in the page cache of the client.
I already figured out how to prevent the server from automatically outputting the above message and instead execute my custom error page. What I'm stuck on now is figuring out how to access the long description of the error message.
Response.StatusDescription is "Precondition Failed" - which is expected...but is not really what I want.
Is there anyway to get the long description the server normally sends?
*Note that in order to prevent the default error message I had to set Response.TrySkipIisCustomErrors = true
immediately after setting the Response.StatusCode to 412.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在这种情况下,长描述被硬编码到 412.htm 中。由于您已经设置了自己的自定义错误页面,因此不再使用此默认提供的页面。此详细消息不是 ASP.NET Response 对象的一部分。
The long description is hard coded into 412.htm in this case. Since you have set up your own custom error page, this default supplied page is no longer used. This verbose message is not a part of the ASP.NET Response object.