濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > asp下Response.Buffer提速

asp下Response.Buffer提速

熱門標(biāo)簽:宿州防封外呼系統(tǒng)平臺(tái) 電銷機(jī)器人采購(gòu) 友邦互聯(lián)電銷機(jī)器人違法嗎 無營(yíng)業(yè)執(zhí)照地圖標(biāo)注教學(xué) 高質(zhì)量的電銷外呼系統(tǒng) 硅基電話機(jī)器人加盟 滴滴地圖標(biāo)注上車點(diǎn) 外呼系統(tǒng)怎么話費(fèi) 地圖標(biāo)注還可以做嗎


 for i=1 to 256
  yongfa365=yongfa365"!--這里主要是讓前邊先產(chǎn)生256個(gè)字符,這樣才可以實(shí)時(shí)輸出-->"
  if len(yongfa365)>=256 then exit for
 next
        MadeBasic()
        MadeModel()
        MadeIndexBlogItem()
                response.Write "1/6所有模版生成完成br>"yongfa365
                Response.Flush()
        MadeIndex("Calendar")
                response.Write "2/6日期索引生成完成br>"
                Response.Flush()
        MadeIndex("Category")
                response.Write "3/6分類索引生成完成br>"
                Response.Flush()
        MadeIndex("Blog")
                response.Write "4/6總索引生成完成br>"
                Response.Flush()
        MadeRSS()
                response.Write "5/6RSS生成完成br>"
                Response.Flush()
        MadeItem("all")
                response.Write "6/6所有文章生成完成font color=red>OK,終于完成了/red>"
                Response.Flush()

以上為后臺(tái)動(dòng)態(tài)生成靜態(tài)文件一段代碼,目的是讓自己可以看到程序執(zhí)行到哪了,以前沒加Response.Flush()就只看那IE狀態(tài)欄里的進(jìn)度條,感覺好郁悶,加上Response.Flush()后,感覺就一個(gè)字“爽”,下邊是從網(wǎng)上找的一些參考資料匯集:

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

一、Buffer

  Buffer從英文直譯過來的意思是“緩沖區(qū)”,這里我們將它稱為緩沖,因?yàn)樗粌H是個(gè)名詞,還是個(gè)動(dòng)詞。
  緩沖區(qū)是存儲(chǔ)一系列的數(shù)據(jù)的地方,客戶端所獲得的數(shù)據(jù)可以從程序的執(zhí)行結(jié)果直接輸出,也可以從緩沖區(qū)輸出。但是這兩種方式在速度上是有差異的:在web中,當(dāng)一個(gè)asp程序被請(qǐng)求的次數(shù)不多時(shí),二者基本上沒有什么差異,至少我們感覺不出來。但是當(dāng)有很多人請(qǐng)求一個(gè)asp程序時(shí),速度可就不一樣了。如果沒有緩沖區(qū),那么每個(gè)請(qǐng)求asp程序的人的客戶端所得到的結(jié)果都是asp程序執(zhí)行一次所得到的結(jié)果,而如果預(yù)先將asp程序緩沖,那么每個(gè)客戶端所得到的結(jié)果就是緩沖區(qū)的結(jié)果,不是執(zhí)行一次程序的結(jié)果。比如有1000個(gè)用戶同時(shí)訪問一個(gè)asp頁(yè)面,如果這個(gè)asp程序沒有緩沖,那么程序?qū)⒈粓?zhí)行一千次,這樣服務(wù)器的負(fù)荷就回加大,從而導(dǎo)致客戶端打開頁(yè)面速度變慢;如果這個(gè)asp程序被緩沖了,那么結(jié)果就不一樣了,每個(gè)客戶端直接從緩沖區(qū)獲得數(shù)據(jù),服務(wù)器將不會(huì)因?yàn)樵L問增加而增加程序執(zhí)行次數(shù),因此客戶端打開頁(yè)面的速度也就比上一種情況要快。這就是Buffer的好處。

二、如何將asp程序緩沖

  這個(gè)問題其實(shí)很簡(jiǎn)單,只要在asp程序的第一行加上:
% Response.Buffer = True %>
就可以了。
這句話的意思就是指明輸出頁(yè)面是否被緩沖,當(dāng)屬性值為True時(shí),服務(wù)器將不會(huì)向客戶端發(fā)送任何信息,直到所有程序執(zhí)行完或者遇到
% Response.Flush %>或% Response.End %>
語(yǔ)句,才會(huì)釋放緩沖區(qū)的信息。
  利用 Response.Buffer=True,Response.Flush 可以增進(jìn)瀏覽速度,如果一個(gè)頁(yè)面 Response.Buffer=False,有30個(gè)資料轉(zhuǎn)輸,若有 100 人瀏覽此頁(yè)面,則有 3000 個(gè)來回傳輸,嚴(yán)重影響效率;若在起始得設(shè)定 Response.Buffer=True,再將整個(gè)頁(yè)面分為幾個(gè)群組,在適當(dāng)?shù)牡胤酱钆?nbsp;Response.Flush,則可大幅改善瀏覽者的體驗(yàn)。

三、為什么有時(shí)會(huì)感覺沒有用
比如:
%
'警告:沒事別運(yùn)行這個(gè)
for i=1 to 10000
 Response.Write "b>center>font color=""#FF0000"">我是www.yongfa365.com"i "呀/font>/center>/b>"
 Response.Flush
 response.Clear
next
%>
半天才會(huì)出來,而且出來的是一堆,然后才一個(gè)一個(gè)的接著出來。

原因:

Response.Flush()。他會(huì)將緩沖區(qū)中編譯完成的數(shù)據(jù)先發(fā)送到客戶端
但是
flush的內(nèi)容至少要有256字節(jié)。也就是只有編譯產(chǎn)生了至少256字節(jié)的數(shù)據(jù),才能在執(zhí)行Response.Flush()以后將信息發(fā)到客戶端并顯示。

Clear 方法
Clear 方法刪除緩沖區(qū)中的所有 HTML 輸出。Clear 方法只刪除響應(yīng)正文而不刪除響應(yīng)標(biāo)題
語(yǔ)法
Response.Clear
注釋
調(diào)用 Response.Clear 將清楚本頁(yè)面前面部分所輸出的數(shù)據(jù),同時(shí),如果程序設(shè)定了 Response.ContentEncoding,Response.Clear 將同時(shí)將編碼方式設(shè)定為直接傳送。 
應(yīng)用于Response 對(duì)象


四、總結(jié)

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

附:

一般驗(yàn)證碼里文件頭里有這個(gè)
Response.Buffer=false
Response.Expires=0
Response.ExpiresAbsolute = Now() - 1
Response.AddHeader "Pragma","No-Cache"
Response.AddHeader "Cache-Control","Private"
Response.CacheControl = "No-Cache"
就是為了不讓其有緩存。
您可能感興趣的文章:
  • ASP.NET筆記之 Request 、Response 與Server的使用
  • ASP.NET之Response.Cookies.Remove 無法刪除COOKIE的原因
  • asp.net直接Response輸出WML頁(yè)面示例代碼
  • asp.net中WebResponse 跨域訪問實(shí)例代碼
  • Asp.net response對(duì)象與request對(duì)象使用介紹
  • Asp.net中Response.Charset與Response.ContentEncoding區(qū)別示例分析
  • asp中Response.End()用法
  • 小論asp中request與response的用法
  • PHP模擬asp中response類實(shí)現(xiàn)方法
  • ASP基礎(chǔ)入門第七篇(ASP內(nèi)建對(duì)象Response)

標(biāo)簽:廣元 儋州 錫林郭勒盟 雅安 七臺(tái)河 宣城 江門 新余

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp下Response.Buffer提速》,本文關(guān)鍵詞  asp,下,Response.Buffer,提速,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp下Response.Buffer提速》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于asp下Response.Buffer提速的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    德化县| 中牟县| 吉林市| 昭觉县| 新闻| 林西县| 邢台市| 岑溪市| 化德县| 榆社县| 冀州市| 北碚区| 东山县| 嵩明县| 德格县| 拜泉县| 抚州市| 陆丰市| 刚察县| 台南县| 阿拉善右旗| 榆树市| 灌云县| 安溪县| 蛟河市| 福鼎市| 汤原县| 来安县| 兴和县| 寿阳县| 丰原市| 碌曲县| 万宁市| 泰州市| 朔州市| 加查县| 海安县| 定陶县| 巫溪县| 枣强县| 乌什县|