当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP中有关timeout超时的体会

ASP
一个ASP版的图片浏览管理器
无组件上传图片至SQLSERVER数据库
利用Jmail.Message发送邮件
用Web页面执行客户端程序
多图片上传到指定的目录并存到数据库
dreamweaverMX通用分页代码研究
下拉菜单输入,根据输入内容自动定位
中文的无组件文件上传ASP函数
一个利用adsi得到局域网信息的asp文件
根据需要动态include不同的文件
让自定义文件下载支持断点续传
用数组实现数据记录的批量录入方法
上传的进度条 实时反映上传情况
用ASP动态生成javascript的表单验证代码
ASP 编程中20个非常有用的例子
ASP生成Word文档的又一方法
用asp解析图片地址,并将其保存。
利用ASP的文件操作实现用户管理
创建 Visual Basic COM 组件在 ASP 中使用
调试 ASP 中使用的 Visual Basic COM 组件

ASP中有关timeout超时的体会


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 79 ::
收藏到网摘: n/a

  最近用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_USERSoftwareMicrosoft
WindowsCurrentVersionInternet Settings中
加一DWORD类型ReceiveTimeout,值设为比如8个9.
3. restart computer.