其實(shí)這里的靜態(tài)頁(yè)面并不是真正意義上的靜態(tài),但可以達(dá)到了靜態(tài)頁(yè)面的解析效率,還未經(jīng)項(xiàng)目測(cè)試,拿來分享。
復(fù)制代碼 代碼如下:
%
Const DEVJS_INDEX="index.html"
Const INDEX_DEFAULT_INTERVAL=300
Dim sLastUpdate
'用Application保存最后更新的時(shí)間,而在頁(yè)面里做判斷,每隔300秒(5分鐘)就生成一次頁(yè)面
sLastUpdate=Application("INDEX_LAST_Update")
If sLastUpdate="" or DateDiff("s",sLastUpdate,now())>INDEX_DEFAULT_INTERVAL Then
'調(diào)用MakeIndex()生成頁(yè)面,同時(shí)更改最后更新時(shí)間
MakeIndex()
sLastUpdate=Now()
Application("INDEX_LAST_Update")=sLastUpdate
Response.Write "超出默認(rèn)時(shí)間,更新于" sLastUpdate
Else
Response.Write "讀取靜態(tài)頁(yè)面,更新于" 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
%>
如果過期就更新頁(yè)面,沒有過期直接調(diào)用靜態(tài)頁(yè)面,這里還用到了兩個(gè)函數(shù),一并貼上,提醒注意一下,SaveTextFile()是以覆蓋方式寫入的
就是這一句 oStream.SaveToFile sFilePath,2
復(fù)制代碼 代碼如下:
%
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
%>
這個(gè)比緩存省事,也直接的多!其實(shí),在MakeIndex()里可以做很多事,比如讀取模板文件進(jìn)行替換這些。