服务器之家

服务器之家 > 正文

asp 静态页面的另一种思路

时间:2019-09-18 10:43     来源/作者:asp开发网

其实这里的静态页面并不是真正意义上的静态,但可以达到了静态页面的解析效率,还未经项目测试,拿来分享。

复制代码代码如下:


<% 
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()里可以做很多事,比如读取模板文件进行替换这些。

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部