asp 静态页面的一种思路

今天还算比较空闲!最近的两个网站的开发使我产生了不少新的想法!也阅读过了不少优秀的代码,但总没有找到一种符合自己的模式!借鉴缓存的设计,我似乎找到了一种更便捷的思路。其实这里的静态页面并不是真正意义上的静态,但可以达到了静态页面的解析效率,还未经项目测试,拿来分享。

<%

'文章来源:http://www.devjs.com
Const DEVJS_INDEX="index.html"
Const INDEX_DEFAULT_INTERVAL=300
Dim sLastUpdate
'用Application保存最后更新的时间,而在页面里做判断,每隔300秒(5分钟)就生成一次页面
sLastUpdate=Application("INDEX_LAST_Update")
If sLastUpdate="" or DateDiff("s",sLastUpdate,now())>INDEX_DEFAULT_INTERVAL Then
    
'调用MakeIndex()生成页面,同时更改最后更新时间
    MakeIndex()
    sLastUpdate
=Now()
    Application(
"INDEX_LAST_Update")=sLastUpdate
    Response.Write 
"超出默认时间,更新于" & sLastUpdate
Else
    Response.Write 
"读取静态页面,更新于" & sLastUpdate
End If
Response.Write LoadTextFile(Server.MapPath(DEVJS_INDEX),
"GB2312")

Function MakeIndex()
    sContent
="<hr>" & Now()
    
Call SaveTextFile(Server.MapPath(DEVJS_INDEX),"GB2312",sContent)
End Function
%
>

如果过期就更新页面,没有过期直接调用静态页面,这里还用到了两个函数,一并贴上,提醒注意一下,SaveTextFile()是以覆盖方式写入的
就是这一句 oStream.SaveToFile sFilePath,2

< %
Function  LoadTextFile(sFilePath,sCharset)
    
Dim  oStream
    
Set  oStream = Server.CreateObject( " ADODB.Stream " )
    oStream.Type
= 2
    oStream.Mode
= 3
    oStream.Open
    oStream.Charset
= sCharset
    oStream.Position
= oStream.Size
    oStream.LoadFromFile sFilePath
    LoadTextFile
= oStream.ReadText
    oStream.Close
    
Set  oStream = Nothing
End Function

Function  SaveTextFile(sFilePath,sCharset,outString)
    SaveFile
= false
    
Dim  oStream
    
Set  oStream  =  Server.CreateObject( " ADODB.Stream " )
    oStream.Type
= 2
    oStream.Mode
= 3
    oStream.Open
    oStream.Charset
= sCharset
    oStream.WriteText 
=  outString
    oStream.SaveToFile sFilePath,
2
    oStream.Close
    
Set  oStream  =   Nothing
    SaveTextFile
= true
End Function
%
>

这个比缓存省事,也直接的多!其实,在MakeIndex()里可以做很多事,比如读取模板文件进行替换这些。

转载于:https://www.cnblogs.com/shaoyun/archive/2008/09/24/1298227.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值