asp timeout超时问题的学习笔记

发布时间:2019-08-30编辑:脚本学堂
Asp写的代码,尤其是操作大数据时,超时问题一直是个大问题,今天分享一下我之前的学习笔记,供朋友们参考。

影响超时的服务器端设置大概有:
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_USERSoftwareMicrosoft WindowsCurrentVersionInternet Settings中
加一DWORD类型ReceiveTimeout,值设为比如8个9。
3、restart computer。

在遇到asp超时问题时,大家可以参照以上的方法来解决。