<thead id="jxdzp"><address id="jxdzp"><pre id="jxdzp"></pre></address></thead>

<em id="jxdzp"><span id="jxdzp"></span></em>

    <listing id="jxdzp"><nobr id="jxdzp"><meter id="jxdzp"></meter></nobr></listing>

      <address id="jxdzp"></address>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>

          訂閱本欄目 RSS您所在的位置: 深山工作室 > ASP > 正文

          讓asp立即輸出緩存(Response.flush),實時顯示進度

          網絡 2009/9/14 8:30:03 深山行者 字體: 瀏覽 12526

          寫程序的人在編寫由asp頁面生成靜態頁面html的時候,如果同時生成大量頁面,一定遇到過瀏覽器下方的進度條上顯示著3%,6%,10%等緩慢

          增長的漫長等待過程。在這個等待過程中,你不知道頁面已經生成到哪一條記錄,只能大眼瞪小眼的等。


          如果你知道Response.FlushResponse.Clear,那你就可以不用這樣的等待了。每生成一個Html頁面,就用Response.write立即返回一條信息

          ,提示該條數據庫記錄已經生成Html。


          這樣,在同時生成大量頁面的時候,你就不再是孤獨的望著一片空白的頁面而只是瀏覽器下方緩慢變化著的進度條而發呆了,你可以隨時知道

          當前已經生成到哪條數據庫記錄了,即使出現意外,如死機,斷電等,你也知道下次生成應該從哪天記錄重新開始生成html了。是不是很爽呢

          ,這就是一個進度條了而且更具體了。


          呵呵,別著急,我們先來看Response.FlushResponse.Clear的意思吧。


          Response對象之Flush方法,立即發送緩沖區中的輸出。如果未將 Response.Buffer 設置為 TRUE,則該方法將導致運行時錯誤。語法:

          Response.Flush;注釋:如果在 ASP 頁上調用 Flush 方法,則服務器將響應該頁上保持活動的請求。應用于Response對象。


          關于Buffer,這里有段介紹。Buffer從英文直譯過來的意思是“緩沖區”,這里我們將它稱為緩沖,因為它不僅是個名詞,還是個動詞。


          緩沖區是存儲一系列的數據的地方,客戶端所獲得的數據可以從程序的執行結果直接輸出,也可以從緩沖區輸出。但是這兩種方式在速度上是

          有差異的:在web中,當一個asp程序被請求的次數不多時,二者基本上沒有什么差異,至少我們感覺不出來。但是當有很多人請求一個asp程序

          時,速度可就不一樣了。如果沒有緩沖區,那么每個請求asp程序的人的客戶端所得到的結果都是asp程序執行一次所得到的結果,而如果預先

          將asp程序緩沖,那么每個客戶端所得到的結果就是緩沖區的結果,不是執行一次程序的結果。比如有1000個用戶同時訪問一個asp頁面,如果

          這個asp程序沒有緩沖,那么程序將被執行一千次,這樣服務器的負荷就回加大,從而導致客戶端打開頁面速度變慢;如果這個asp程序被緩沖

          了,那么結果就不一樣了,每個客戶端直接從緩沖區獲得數據,服務器將不會因為訪問增加而增加程序執行次數,因此客戶端打開頁面的速度

          也就比上一種情況要快。這就是Buffer的好處。

          關于Response.clear,Clear 方法刪除緩沖區中的所有 HTML 輸出。但 Clear 方法只刪除響應正文而不刪除響應標題??梢杂迷摲椒ㄌ幚礤e誤

          情況。請注意,如果未將 Response.Buffer 設置為 TRUE,則該方法將導致運行時錯誤。語法:Response.Clear;應用于Response對象。

          好了,想實現立即輸出的效果,只要在循環體內的希望輸出提示信息后加上Response.Flush和Response.Clear就可以了。如:


          <%
          for i=1 to 2000
          for i1=1 to 3000
          ''空循環,延長每次執行時間
          next
          Response.write i&")"
          Response.Flush
          Response.Clear
          next
          %>


          上述asp語句,你執行后,會發現輸出是逐個逐個輸出的,執行一次,就輸出一次。


          但我在網上看到有人說,“很多時候,我們發現即使我們使用了Response.Flush(),但是并沒有將前面的信息發到客戶端來顯示。呈獻給我們

          的依然是白屏。經過反復的測試,我得出一個結論:就是flush的內容至少要有256字節。也就是只有編譯產生了至少256字節的數據,才能在執

          行Response.Flush()以后將信息發到客戶端并顯示。”


          很奇怪,上述我給出的語句確確實實是實現了逐個顯示的效果的,并沒有事先輸出256個字節,大家可以把上述語句另存為記事本運行看看,效

          果是逐行顯示的。本人所列觀點,僅代表flymorn個人觀點,不挪作他用。


          如果你確實需要事先輸出256個字節,可以如下:


          <%
          dim liji
          for i=1 to 256
          liji=liji&"<!--先產生256個字符-WWW.PIAOYI.ORG-->"
          if len(liji)>=256 then exit for
          next
          %>

          相關閱讀
          標準版下拉菜單
          access數據庫做的網站出現.ldb不能刪除超過2KB之后就會網站訪問不了數據庫,提示數據庫不存在
          讓DIV固定在瀏覽器窗口的底部(兼容IE6)
          CSS編寫中靈活運行注釋的意義
          景點門票預訂商建站解決方案
          Web標準中XHTML的代碼規范
          ASP中SQL和Access數據庫中時間/日期字段內容查詢的方法說明
          微信公眾號回復音樂消息或用客服接口推送音樂消息
          共有0條關于《讓asp立即輸出緩存(Response.flush),實時顯示進度》的評論
          發表評論
          正在加載評論......
          返回頂部發表評論
          呢 稱:
          表 情:
          內 容:
          評論內容:不能超過 1000 字,需審核,請自覺遵守互聯網相關政策法規。
          驗證碼: 驗證碼 
          網友評論聲明,請自覺遵守互聯網相關政策法規。

          您發布的評論即表示同意遵守以下條款:
          一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會、集體和公民的合法權益;
          二、不得發布國家法律、法規明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
          三、本站對您所發布內容擁有處置權。

          更多信息>>欄目類別選擇
          百度小程序開發
          微信小程序開發
          微信公眾號開發
          uni-app
          asp函數庫
          ASP
          DIV+CSS
          HTML
          python
          更多>>同類信息
          ASP中Utf-8與Gb2312編碼轉換亂碼問題的解決方法頁面編碼聲明
          asp顯示隨機密碼
          通過阿里云服務接口獲得ip地址詳細信息
          iis點開后任務欄上有顯示,但是窗口看不到的解決辦法
          RSA加密解密插件
          微軟Encoder加密解密函數
          更多>>最新添加文章
          dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
          Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素
          抖音直播音掛載小雪花 懂車帝小程序
          javascript獲取瀏覽器指紋可以用來做投票
          火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
          在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
          python通過代碼修改pip下載源讓下載庫飛起
          python里面requests.post返回的res.text還有其它的嗎
          更多>>隨機抽取信息
          連云港門窗制作
          做海外電商單頁的facebook像素廣告代碼與相關事件處理
          網站站長:提高頁面瀏覽速度的辦法
          asp頁面ip防火墻限制(判斷ip內網還是外網)功能
          地瓜坊美食
          淘寶產品首字母類別效果
          88国产精品视频一区二区三区