美好的一天!
我遇到了一个ASP经典应用程序的问题。我们正在进行SQL连接管理,一切都很完美,所以我们部署在另一个环境中供用户测试,其中一个ASP页面挂起90秒,结果是:
Active Server Pages error 'ASP 0113'
Script timed out
所以,我尝试添加一些调试代码。我用的是:
Response.End
检查它挂在哪里。我终于发现,这是我们开发的新功能,很明显!这是一个小提取物:
Dim sqlConn
Set sqlConn = SessionConnection("SQLConnection")
set rsIDXMDL = SQLQuery(sqlConn, sQuery)
如果我在调用SessionConnection()之前放置了Response.End,则该过程停止。如果我在调用SessionConnection()之后放入Response.End,则页面挂起90秒。这让我想到:“宾果!里面的东西都失败了!”所以,为了好玩,我在函数的第一行放了一个Response.End,如:
Function SessionConnection(SessVarName)
Response.End
[...]
我相信你能猜到发生了什么!页面仍然悬挂!这怎么可能?
答案 0 :(得分:0)
理想情况下,您需要提高代码的效率,以便它根本不会超时,但如果不能作为乐队辅助,那么您可以尝试增加超时:
Server.ScriptTimeout = 180
此值指示服务器在服务器停止之前让ASP脚本运行的时间(以秒为单位)。默认值为90秒。
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionTimeout = 120
conn.Open <connectionString>
如果conn是尚未打开的ADODB.Connection对象,则connectionTimeout属性将指示等待ASP应用程序最初连接到数据源的时间(以秒为单位)。默认值为15秒
Set conn = CreateObject("ADODB.Connection")
conn.Open <connectionString>
conn.CommandTimeout = 120
CommandTimeout告诉服务器完成发送到数据源的任何命令需要等待多长时间(以秒为单位)。在打开连接之前和之后,此值是可编辑的。默认值为30秒
希望这有帮助。