经典 ASP 页面运行时间超过 Server.ScriptTimeout

经典 ASP 页面运行时间超过 Server.ScriptTimeout

我们遇到一个问题,即使 Server.ScriptTimeout 值为 90 秒,ASP 页面仍会运行 30-45 分钟。我们甚至通过将 Server.ScriptTimeout 的值打印到页面上来验证这一点,以确保我们不会以某种方式更改该值。

我们正在研究导致某些页面随机运行这么长时间的原因。但我还想确定 ASP 页面的运行时间为何能够超过 Server.ScriptTimeout 值?

答案1

似乎脚本超时在某个时候被覆盖了。为了缩小范围,如果您尝试在另一个新页面上运行长时间运行的任务,会发生什么?在传统 ASP 中暂停是相当困难的,但可以尝试 WaitFor:http://www.scriptswave.com/free-scripts-download/waitfor/5932.html

如果您可以确认在并行页面中脚本超时得到遵守,请尝试复制实时页面并在顶部添加等待,看看会发生什么...然后将等待向下移动代码,直到最终它不遵守脚本超时值。

这将有助于缩小范围,确定问题是否与该服务器上的所有页面有关,还是只与一个页面有关。如果是与一个页面有关,则将有助于确定页面中超时值的变化从哪里开始。

答案2

只是在这个问题上摸索一下,但如果 ASP 和Server.ScriptTimeoutPHP 类似max_execution_time,并且你的运行时间过长的脚本涉及对远程服务的调用,那么你的超时值很有可能不是考虑 CPU 在等待其他服务调用时的空闲时间。(Server.ScriptTimeout MSDN 条目在这种情况下,Server.ScriptTimeout 的行为有点稀疏)

当 Web 服务意外响应(即重定向循环)时,这会产生问题,因此,如果您的脚本依赖于远程服务,那么调试对远程服务的调用可能也是一个好主意。

答案3

自从我使用 Classic ASP 以来已经有一段时间了...您看到的内容与Server.ScriptTimeout您在 IIS 管理器中看到的内容相匹配ASP 脚本超时值?(假设该链接使用 IIS6)

相关内容