• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

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

    發布: 2007-7-14 19:37 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 12次 | 進入軟件測試論壇討論

    領測軟件測試網

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


    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>