Forrest

          阿甘學Java
          posts - 3, comments - 0, trackbacks - 0, articles - 0

          Response.Buffer 的作用

          Posted on 2006-09-07 08:55 TOSO 閱讀(700) 評論(0)  編輯  收藏 所屬分類: ASP技術

          ??????? 不知道大家對Buffer了解多少,很多人對這個概念都比較模糊,尤其是在asp中。很多初學者在編寫asp程序時很少用到這條語句,下面我就來說說Buffer的用途以及它在asp程序中的作用。

          一、Buffer

            Buffer從英文直譯過來的意思是"緩沖區",這里我們將它稱為緩沖,因為它不僅是個名詞,還是個動詞。

            緩沖區是存儲一系列的數據的地方,客戶端所獲得的數據可以從程序的執行結果直接輸出,也可以從緩沖區輸出。但是這兩種方式在速度上是有差異的:在web中,當一個asp程序被請求的次數不多時,二者基本上沒有什么差異,至少我們感覺不出來。但是當有很多人請求一個asp程序時,速度可就不一樣了。如果沒有緩沖區,那么每個請求asp程序的人的客戶端所得到的結果都是asp程序執行一次所得到的結果,而如果預先將asp程序緩沖,那么每個客戶端所得到的結果就是緩沖區的結果,不是執行一次程序的結果。比如有1000個用戶同時訪問一個asp頁面,如果這個asp程序沒有緩沖,那么程序將被執行一千次,這樣服務器的負荷就回加大,從而導致客戶端打開頁面速度變慢;如果這個asp程序被緩沖了,那么結果就不一樣了,每個客戶端直接從緩沖區獲得數據,服務器將不會因為訪問增加而增加程序執行次數,因此客戶端打開頁面的速度也就比上一種情況要快。這就是Buffer的好處。

          二、如何將asp程序緩沖

            這個問題其實很簡單,只要在asp程序的第一行加上:

          <% Response.Buffer = True %>

          就可以了。

          這句話的意思就是指明輸出頁面是否被緩沖,當屬性值為True時,服務器將不會向客戶端發送任何信息,直到所有程序執行完或者遇到

          <% Response.Flush %>或<% Response.End %>

          語句,才會釋放緩沖區的信息。

            利用 Response.Buffer=True,Response.Flush 可以增進瀏覽速度,如果一個頁面 Response.Buffer=False,有30個資料轉輸,若有 100 人瀏覽此頁面,則有 3000 個來回傳輸,嚴重影響效率;若在起始得設定 Response.Buffer=True,再將整個頁面分為幾個群組,在適當的地方搭配 Response.Flush,則可大幅改善使用者的經驗。

          三、總結

            Response的Buffer屬性雖然能夠提高頁面顯示速度,但是也要分什么情況。如果你正在制作一個普通的個人主頁,訪問量不是很高,并且沒有什么復雜的執行程序,那么用不用這個屬性就不是很重要,因為將數據緩沖也需要一段時間,只不過我們感覺不到罷了;但是如果你正在制作一個大型論壇或者一個產品展示或其他的商務站點,并且訪問量很高,那么我建議在程序的第一行加入<% Response.Buffer = True %>這句話,因為這樣能夠讓客戶在有效的時間內獲得更多的數據。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 白沙| 探索| 保康县| 云南省| 那曲县| 张家口市| 蛟河市| 商城县| 札达县| 馆陶县| 沁水县| 巴彦淖尔市| 富宁县| 安阳县| 汝城县| 钟山县| 浠水县| 南宁市| 浏阳市| 固安县| 白河县| 宜城市| 阿坝| 当雄县| 新兴县| 元江| 大竹县| 健康| 商水县| 山丹县| 大同市| 石棉县| 延庆县| 连城县| 梓潼县| 汶川县| 岳池县| 南丹县| 广州市| 蕉岭县| 吉安市|