当前位置:首页>>开发编程>>ASP>>新闻内容  |虚拟主机 主机托管
ASP中有关timeout超时的体会
作者:佚名 发布时间:2004-6-19 20:02:34 | 【字体:

做了个导入IP转换格式的ASP程序,因为数据库太大,数据太多,所以找了着篇资料

最近用ASP和MSSQL做了一个数据库应用, 
开始一切顺利,但随着数据量的增加, 
先后几次查询时出现timeout的问题. 
参考Option Pack文档及社区内的文章, 
现在问题都已解决(至少没又发现新的). 

现把解决方法总结一下: 

影响服务器产生超时的设置大致有: 
1. Server.ScriptTimeout, 
2. Connection对象的CommandTimeOut属性, 
3. Command对象的CommandTimeOut属性, 
4. IE浏览器的设置. 

Server.ScriptTimeout,默认值是90秒. 
要增大它,在你的asp文件中加一句,如下: 
Server.ScriptTimeout=999, 
将页面超时设为999秒. 

最初我只设置Server.ScriptTimeout, 
但仍会出现timeout错误,无论它的值设成都多大. 
后在社区里看到一帖子,提到commandTimeout属性, 
于是查看Option Pack文档,果然还有其他的timeout. 

Connection对象和Command对象都有个CommandTimeOut属性, 
默认是30秒,如果你有一个耗时的查询或数据处理, 
很容易就超时了.要增大它,也很容易,创建对象后, 
设置它的属性,如下: 
con.CommandTimeOut = 999, 
设为999秒,其中con是一Connection对象. 
如设为零,将无限等待,没有这一timeout限制. 

Command对象不会继承Connection的这一属性, 
所以对可能超时的Command也要单独设置CommandTimeout属性. 

最后IE也有个超时设置,5分钟从服务器得不到数据,也超时. 
这种情况可能很少碰到, 
但当我把一10多万查询的结果保存为mdb文件时, 
就遇到了.(至于保存的方法,请参看精华区中的一篇帖子.) 
解决方法:(原文请参照微软KB中的Q181050) 
1. IE要4.01 sp1以上版本. 
2. 在注册表中HKEY_CURRENT_USER\Software\Microsoft\ 
Windows\CurrentVersion\Internet Settings中 
加一DWORD类型ReceiveTimeout,值设为比如8个9. 
3. restart computer. 


文章来源:西部E网
 放生
 愚爱
 够爱
 触电
 白狐
 葬爱
 光荣
 画心
 火花
 稻香
 小酒窝
 下雨天
 右手边
 安静了
 魔杰座
 你不像她
 边做边爱
 擦肩而过
 我的答铃
 怀念过去
 等一分钟
 放手去爱
 冰河时代
 你的承诺
 自由飞翔
 原谅我一次
 吻的太逼真
 左眼皮跳跳
 做你的爱人
 一定要爱你
 飞向别人的床
 爱上别人的人
 感动天感动地
 心在跳情在烧
 玫瑰花的葬礼
 有没有人告诉你
 即使知道要见面
 爱上你是一个错
 最后一次的温柔
 爱上你是我的错
 怎么会狠心伤害我
 不是因为寂寞才想
 亲爱的那不是爱情
 难道爱一个人有错
 寂寞的时候说爱我