<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      asp提高首頁性能的一個技巧

      [摘要]簡單介紹:  一般一個網站的首頁訪問量是最大的,如果您的網站的首頁打開的非常緩慢,您的客戶將會陸續離開你的網站.通常我們把需要經過復雜運算或者查詢數據庫得出的數據緩存起來或者生成靜態網頁來提高web...

      簡單介紹:
        一般一個網站的首頁訪問量是最大的,如果您的網站的首頁打開的非常緩慢,您的客戶將會陸續離開你的網站.通常我們把需要經過復雜運算或者查詢數據庫得出的數據緩存起來或者生成靜態網頁來提高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
              objstream.Close
              set objstream = nothing
      End Function
      %>
      <%
      '下面這個類可以保存在單獨的文件里,然后包含到此頁
      Class Cls_Cache
       Rem ==================使用說明==============================================
       Rem = 本類模塊是動網先鋒原創,作者:迷城浪子。如采用本類模塊,請不要去掉這個說明。這段注釋不會影響執行的速度。=
       Rem = 作用:緩存和緩存管理類                                                                                  =
       Rem = 公有變量:Reloadtime 過期時間(單位為分鐘)缺省值為14400,                                               =
       Rem = MaxCount 緩存對象的最大值,超過則自動刪除使用次數少的對象。缺省值為300                                  =
       Rem = CacheName 緩存組的總名稱,缺省值為"Dvbbs",如果一個站點中有超過一個緩存組,則需要外部改變這個值。        =
       Rem = 屬性:Name 定義緩存對象名稱,只寫屬性。                                                                  =
       Rem = 屬性:value 讀取和寫入緩存數據。                                                                         =
       Rem = 函數:ObjIsEmpty()判斷當前緩存是否過期。                                                                =
       Rem = 方法:DelCahe(MyCaheName)手工刪除一個緩存對象,參數是緩存對象的名稱。                                   =
       Rem ================================================================
       Public Reloadtime,MaxCount,CacheName
       Private LocalCacheName,CacheData,DelCount
       Private Sub Class_Initialize()
        Reloadtime=14400
        CacheName="Dvbbs"
       End Sub
       Private Sub SetCache(SetName,NewValue)
        Application.Lock
        Application(SetName) = NewValue
        Application.unLock
       End Sub
       Private Sub makeEmpty(SetName)
        Application.Lock
        Application(SetName) = Empty
        Application.unLock
       End Sub
       Public  Property Let Name(ByVal vNewValue)
        LocalCacheName=LCase(vNewValue)
       End Property
       Public  Property Let Value(ByVal vNewValue)
        If LocalCacheName<>"" Then
         CacheData=Application(CacheName&"_"&LocalCacheName)
         If IsArray(CacheData)  Then
          CacheData(0)=vNewValue
          CacheData(1)=Now()
         Else
          ReDim CacheData(2)
          CacheData(0)=vNewValue
          CacheData(1)=Now()
         End If
         SetCache CacheName&"_"&LocalCacheName,CacheData
        Else
         Err.Raise vbObjectError + 1, "DvbbsCacheServer", " please change the CacheName."
        End If  
       End Property
       Public Property Get Value()
        If LocalCacheName<>"" Then
         CacheData=Application(CacheName&"_"&LocalCacheName) 
         If IsArray(CacheData) Then
          Value=CacheData(0)
         Else
          Err.Raise vbObjectError + 1, "DvbbsCacheServer", " The CacheData Is Empty."
         End If
        Else
         Err.Raise vbObjectError + 1, "DvbbsCacheServer", " please change the CacheName."
        End If
       End Property
       Public Function ObjIsEmpty()
        ObjIsEmpty=True
        CacheData=Application(CacheName&"_"&LocalCacheName)
        If Not IsArray(CacheData) Then Exit Function
        If Not IsDate(CacheData(1)) Then Exit Function
        If DateDiff("s",CDate(CacheData(1)),Now()) < 60*Reloadtime  Then
         ObjIsEmpty=False
        End If
       End Function
       Public Sub DelCahe(MyCaheName)
        makeEmpty(CacheName&"_"&MyCaheName)
       End Sub
      End Class
      %>





      日韩精品一区二区三区高清