建站常识

asp批量生成静态页面的方法

发布时间 | 2017/12/25  点击 | 

当网站数据巨大时,一次生成许多静态页,会导致生成页面超过20分钟后报错,以至于后面的静态页不能生成。

即使使用了Server.ScriptTimeout = 9999,程序运行后,也会出现假死现象。

这里介绍一种方法,每次生成100个静态页面,不停地生成,直到全部生成完毕

注意:这里使用的是模块替换生成静态页面的方法。

代码如下:

<%

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 = "se1ect * 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

%>

相关信息