@ OutputCache指令代碼
<%@ OutputCache CacheProfile =" " NoStore= "True | False" Duration ="#ofseconds" Shared ="True | False" Location ="Any | Client | Downstream | Server | None | ServerandClient " SqlDependency ="database/table name pair | CommandNotification " VaryByControl ="controlname" VaryByCustom ="browser | customstring" VaryByHeader ="headers" VaryByParam ="parametername" %>
如上所示,在@ OutputCache指令中,共包括10個屬性,它們是CacheProfile、NoStore、Duration、Shared、Location、SqlDependency、VaryByControl、VaryByCustom、VaryByHeader和VaryByParam。這些屬性將對緩存時間、緩存項的位置、SQL數據緩存依賴等各方面進行設置。下面簡要介紹以上屬性的基本概念。
<%@ OutputCache Duration="100" VaryByParam="none"%>
<%@ OutputCache Duration="100" VaryByParam="location;firstname" %>
以上@ OutputCache指令設置頁面輸出緩存的有效期是100秒,并且根據查詢字符串參數location或者firstname來設置輸出緩存。例如,假設客戶端請求是“http://localhost/default.aspx?location=beijing”,那么該頁面將被作為緩存處理。
靜態頁面全部內容保存在服務器內存中。當再有請求時,系統將緩存中的相關數據直接輸出,直到緩存數據過期。這個過程中,緩存不需要再次經過頁面處理生命周期。這樣可以縮短請求響應時間,提高應用程序性能。很顯然,頁面輸出緩存適用于不需要頻繁更新數據,而占用大量時間和資源才能編譯生成的頁面。對于那些數據經常更新的頁面,則不適用。默認情況下,ASP.NET 2.0啟用了頁面輸出緩存功能,但并不緩存任何響應的輸出。開發人員必須通過設置,使得某些頁面的響應成為緩存的一部分。
設置頁面輸出緩存可以使用以下兩種方式:一種是使用@ OutputCache指令,另一種是使用頁面輸出緩存API。@ OutputCache指令曾經在ASP.NET 1.x中出現過,并在ASP.NET 2.0中得到了繼承和增強。頁面輸出緩存API主要是指HttpCachePolicy類。
新聞熱點
疑難解答