当前位置:asp编程网>技术教程>Asp教程>  正文

asp批量生成静态页面的方法(模板方法)

2017-08-30 13:52:07   来源:网络   作者:佚名   浏览量:4005   收藏

当网站数据巨大时,一次生成许多静态页,会导致生成页面超过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读取模板页面代码这里就不介绍了。


关于我们-广告合作-联系我们-积分规则-网站地图

Copyright(C)2013-2017版权所属asp编程网