经典 ASP 在 IIS7 中始终返回代码 200
-
03-07-2019 - |
题
我在 IIS7 中启用了跟踪。我在 IIS 管理工具的 ASP 选项卡中将这些属性设置为 true:
- 应用程序允许客户端调试,
- 应用程序允许调试,
- 错误到NTLog,
- 脚本错误发送到浏览器;
为了测试它,我编写了一个小型的经典 ASP 测试页,我自愿在其中包含一个错误(错误的 ActiveX 名称)。
我的 asp 测试页一直呈现,直到到达 bug 行。页面的其余部分不会呈现。我原以为会出现 500 错误代码,但代码始终是 200。FailedReqLogFiles 文件夹中没有错误文件。
有人知道吗?
解决方案
好吧,我认为问题实际上在于 启用服务器端调试. 。您可能已启用它,但您应该 禁用 相反。
服务器认为它应该开始调试并尝试启动调试器,然后没有找到调试器就放弃了!我确信在 IIS7 之前从未发生过这种情况。
其他提示
忧郁的早晨,
这个问题显着减慢了我们的开发速度,因为 sql server 错误没有显示在浏览器上。我们的应用程序服务提供商尝试了一些设置,但无法使其正常工作。他们向我发送了设置,我不小心一次只做了两个,我们的问题就解决了。他们告诉我,asp 给出的是返回代码 200,而不是错误代码。
这是对我们有用的:
“发送到浏览器 = True”和“启用服务器端调试”= False 的组合有效。
我希望这对其他人有帮助。
汤姆·阿姆斯特朗
查看此内容,看看这是否可以阻止您收到 500 错误。另外,如果错误是通过 activeX 中的异常处理程序处理的,那么您可能不会在 asp 响应上看到错误。
200 OK 是成功 HTTP 请求的标准响应。状态码表示客户端的请求已成功接收、理解并接受。
我们也遇到了同样的 IIS7 错误。它没有返回任何类型的错误。屏幕上没有任何错误消息,也没有500。页面刚刚停止渲染。
这就是你所看到的吗?不幸的是,我不记得那是什么了,我认为这就像有什么东西正在处理错误。(如果这是你所看到的,我会继续努力记住!)
我不认为是这样,但可能是:进入错误页面 > 编辑功能设置(隐藏在右侧面板上)并选择详细错误?该设置也是必需的,但您没有提及。