经典 ASP 中的 500 与 500.100 错误
在 IIS7 中运行经典 ASP 应用程序时,什么时候会发生 500 错误而不是 500.100 错误?我的意思是发生 500 错误,而不是 500.100 错误。我的印象是,当 VBScript 代码中发生错误时,经典 ASP 只会抛出 500.100 错误。 通过示例进行一些解释会非常有帮助。
When running classic ASP application in IIS7, when would a 500 error happen rather than a 500.100 error? What I mean is that a 500 error occurs but not a 500.100 error. I am under the impression that classic ASP would only throw 500.100 errors when error occurs in it's VBScript code.
Some explanation through an example would be very helpful.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果存在脚本错误,经典 ASP 始终返回
500.100
状态。在以前的 IIS 版本中,这种情况已经持续了很长一段时间,而且其行为也没有改变。如果您想捕获经典 ASP 脚本错误并且能够读取自定义错误页面中的
Server.GetLastError()
对象(例如用于日志记录),您需要提供专门针对500.100
的处理程序。如果您没有指定自定义
500.100
错误,则 IIS 将回退到您的自定义(或其自己的)500
错误页面,但Server.GetLastError()< /code> 不会提供有关错误的任何有用信息。
Classic ASP has always returned a
500.100
status if there is a script error. It's been like for a very long time in previous versions of IIS and the behaviour hasn't changed.If you want to catch Classic ASP script errors and be able to read the
Server.GetLastError()
object in your custom error page (say for logging) you need to provide a handler specifically for500.100
.If you don't specify a custom
500.100
error then IIS will fall back to your custom (or its own)500
error page butServer.GetLastError()
won't provide any useful information about the error.