程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> asp 靜態頁面的另一種思路

asp 靜態頁面的另一種思路

編輯:關於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()裡可以做很多事,比如讀取模板文件進行替換這些。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved