ASP.NET OutputCache詳解

來源:互聯網
上載者:User

   這篇文章主要介紹了ASP.NET OutputCache詳解,本文詳細講解了OutputCache的文法、OutputCache的參數、OutputCache使用樣本等內容,需要的朋友可以參考下

  當使用者訪問頁面時,整個頁面將會被伺服器儲存在記憶體中,這樣就對頁面進行了緩衝。當使用者再次訪問該頁,頁面不會再次執行資料操作,頁面首先會檢查伺服器中是否存在緩衝,如果緩衝存在,則直接從緩衝中擷取頁面資訊,如果頁面不存在,則建立緩衝。

  網頁輸出快取適用於那些資料量較多,而不會進行過多的事件操作的頁面,如果一個頁面需要執行大量的事件更新,以及資料更新,則並不能使用網頁輸出快取。使用@OutputCatch指令能夠聲明網頁輸出快取,範例程式碼如下所示。

  代碼如下:

  <%@ OutputCache Duration="120" VaryByParam="none" %>

  上述代碼使用@OutputCatch指令聲明了頁面緩衝,該頁面將被緩衝120秒。@OutputCatch指令包括10個屬性,通過這些屬效能夠分別為頁面的不同情況進行緩衝設定,常用的屬性如下所示:

  CacheProfile:擷取或設定OutputCacheProfile名稱。

  Duration:擷取或設定快取項目需要保留在緩衝中的時間。

  VaryByHeader:擷取或設定用於改變快取項目的一組都好分隔的HTTP標題名稱。

  Location:擷取或設定一個值,該值確定快取項目的位置,包括Any、Clint、Downstream、None、Server和ServerAndClient。預設值為Any。

  VaryByControl:擷取或設定一簇分好分隔的控制項標識符,這些標識符包含在當前頁或使用者控制項內,用於改變當前的快取項目。

  NoStore:擷取或設定一個值,該值確定是否設定了“Http Cache-Control:no-store”指令。

  VaryByCustom:擷取輸出緩衝用來改變快取項目的自訂字串列表。

  Enabled:擷取或設定一個值,該值指示是否對當前內容啟用了輸出緩衝。

  VaryByParam:擷取查詢字串或表單POST參數的列表。

  通過設定相應的屬性,可以為版面設定相應的緩衝,當需要為Default.aspx設定快取項目時,可以使用VaryByParam屬性進行設定,範例程式碼如下所示。

  代碼如下:

  <%@ OutputCache Duration="120" VaryByParam="none" %>

  上述代碼使用了Duration屬性和VarByParam屬性設定了當前頁的緩衝屬性。為一個頁面進行整體的緩衝設定往往是沒有必要的,常常還會造成困擾,例如Default.aspx?id=1和Default.aspx?id=100在緩衝時可能呈現的頁面是相同的,這往往不是開發人員所希望的。通過配置VarByParam屬效能夠指定緩衝參數,範例程式碼如下所示。

   代碼如下:

  <%@ OutputCache Duration="120" VaryByParam="id" %>

  上述代碼則通過參數id進行緩衝,當id項不同時,ASP.NET所進行的頁面緩衝也不盡相同。這樣保證了Default.aspx?id=1和Default.aspx?id=100在緩衝時所顯示的頁面並不一致。VarByHeader和VarByCustom主要用於根據訪問頁面的用戶端對頁面的外觀或內容進行自訂。在ASP.NET中,一個頁面可能需要為PC使用者和MOBILE使用者呈現輸出,因此可以通過用戶端的版本不同來緩衝不同的資料,範例程式碼如下所示。

  代碼如下:

  <%@ OutputCache Duration="120" VaryByParam="none" VaryByCustom="browser" %>

  上述代碼則為每個瀏覽器單獨設定了緩衝條目。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.