簡單介紹:一般一個網站的首頁訪問量是最大的,如果您的網站的首頁開啟的非常緩慢,您的客戶將會陸續離開你的網站.通常我們把需要經過複雜運算或者查詢資料庫得出的資料緩衝起來或者產生靜態網頁來提高web應用的效能,這次我們直接把首頁的輸出緩衝成一個字串,然後定時更新,即照顧了效能,又不影響首頁的時效性.這裡用到了一些VBS自訂類,Application對象,XmlHttp對象,adodb.stream對象的一些東西,相關知識大家可以查資料瞭解.
最好讓這個頁和你要緩衝的頁在一個目錄下,要不有些相對路徑的圖片就無法顯示了,另外緩衝有的頁面會出現亂碼,我還不知道怎麼解決這個問題呢,可能在Response的時候需要設定一下編碼類別型,大家可以試試
<%
Dim wawa,StarTime,EndTime
StarTime=Timer()
Set wawa=new Cls_Cache
wawa.Reloadtime=0.5
wawa.CacheName="wawa"
wawa.Name="XmlInfoIndex"
If wawa.ObjIsEmpty() Then CacheXmlInfoIndex()
Response.Write wawa.value
EndTime=Timer()
Response.Write "<br>執行時間:" & FormatNumber((Endtime-StarTime)*1000,5) & "毫秒。"
Sub CacheXmlInfoIndex()
Dim BodyText, xml
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
'把下面的地址替換成你的首頁的檔案地址,一定要用http://開頭的絕對路徑,不能寫相對路徑
xml.Open "GET", "http://onlytiancai/bak/vote/InfoIndex.asp", False
xml.Send
BodyText=xml.ResponseBody
BodyText=BytesToBstr(BodyText,"gb2312")
wawa.Value=BodyText
Set xml = Nothing
End Sub
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText