Server.ScriptTimeout = 0 不工作

Mon*_*gix 1 sql vbscript timeout ado asp-classic

我有一个 ASP Classic 脚本,它必须做很多事情(仅限管理员),包括运行一个需要 4 分钟才能执行的存储过程。

然而,即使我有

Server.ScriptTimeout = 0
Run Code Online (Sandbox Code Playgroud)

就在页面顶部,它似乎忽略了它 - 2003 和 2012 服务器。

我已经尝试尽可能多地为 proc 建立索引,但它是为了减少经常搜索的术语,所以我必须清除所有黑客、性垃圾邮件等。

我不明白的是为什么 Server.ScriptTimeout = 0 被忽略了。

实际的错误是这样的

Active Server Pages 错误“ASP 0113”

脚本超时

/admin/restricted/fix.asp

已超出脚本执行的最长时间。您可以通过为属性 Server.ScriptTimeout 指定新值或更改 IIS 管理工具中的值来更改此限制。

它从来没有这样做过,它应该覆盖 IIS 中 30 秒的默认设置。

我已确保 proc 的命令超时为 0,因此无限制,并且在从 proc 返回后出错。

有人有任何想法吗?

Kei*_*ith 5

0 是 Server.ScriptTimeout 的无效值,原因有两个:

  1. ASP 页面必须有一个超时。他们不能无限期地运行。
  2. 根据MSDN 文档中的声明,ScriptTimeout 永远不能低于 IIS 中设置的 AspScriptTimeout :

例如,如果 NumSeconds 设置为 10,并且元数据库设置包含默认值 90 秒,则脚本将在 90 秒后超时。

解决此问题的最佳方法是将 Server.ScriptTimeout 设置为非常高的值。