- ·上一篇文章:Asp调试程序错误之 IIS中设置显示详细错误信息的具体步骤
- ·下一篇文章:数据上传后简单检查是否上传完成
asp批量生成静态页面的方法(模板方法)
当网站数据巨大时,一次生成许多静态页,会导致生成页面超过20分钟后报错,以至于后面的静态页不能生成。
即使使用了Server.ScriptTimeout = 9999,程序运行后,也会出现假死现象。
这里介绍一种方法,每次生成100个静态页面,不停地生成,直到全部生成完毕
注意:这里使用的是模块替换生成静态页面的方法。
代码如下:
<
!--
#include file="conn.asp" -->
<
%
Dim cnt:cnt = 1 '本轮循环计数器初始化
start  
= request("start") '获取本轮指针的开始位置
If IsNumeric(start) Then start = CLng(start) Else start=1
If start=0 Then start = 1 '如果start为空,从第一条开始
num = 100 '每次生成的数量
content = "fso获取的模板页面代码,这里就省略了"
sql = "select * from 表名"
rs.Open sql,conn,1,1
rs.AbsolutePosition = start '这是此程序最关键的一步,将指针指向start,start通过参数动态获得
Do While Not rs.eof And cnt <
num
 
 
content = Replace(content,"
{要替换的内容1}",rs("字段名1")) '用字段值替换模板内容,下同
 
 
content = Replace(content,"
{要替换的内容2}",rs("字段名2"))
 
 
……
 
 
cnt = cnt+1
 
 
start = start + 1
rs.movenext
Loop
If Not rs.eof Then '通过刷新的方式进行下一轮请求,并将指针变量start传递到下一轮
 
 
response.write "<
meta http-equiv='refresh' content='0
URL=?start="&
start&
"'>
"
Else
 
 
 
response.write "生成HTML文件完毕!"
End if
rs.Close()
Set rs = Nothing
%>
原理就是这样的,看懂原理自己再根据它修改你自己的程序
注意:里面的conn.asp和fso读取模板页面代码这里就不介绍了。
asp批量生成静态页面的方法(模板方法)