ASP.NET 2.0 版保留了 ASP.NET 1.1 版的所有緩衝功能,同時添加了新功能並增強了現有功能。新功能包括緩衝設定檔、自訂緩衝依賴項、SQL 緩衝依賴項以及在快取頁面中建立動態內容(緩衝後替換)。增強功能包括功能更強大的部分頁(控制項)緩衝模型、增強緩衝配置以及輸出緩衝指令的改進。
1. 新緩衝功能
緩衝設定檔
緩衝設定檔使您能夠在應用程式的 Web.config 檔案中建立緩衝設定,然後在單個頁上引用這些設定。這使您能夠將緩衝設定同時應用於多頁。例如,可以定義一個名為 DailyUpdate 的緩衝設定檔,它將頁的緩衝期間設定為一天。然後可以配置各個頁使用 DailyUpdate 緩衝設定檔,並且這些頁的緩衝期間為一天。如果將 DailyUpdate 緩衝設定檔更改為不使用緩衝,將停止緩衝這些頁。
自訂緩衝依賴項
在 ASP.NET 2.0 中,您可以根據應用程式特定情況建立自己的自訂緩衝依賴項。若要建立自訂緩衝依賴項,請建立從 CacheDependency 繼承的類並在自訂類中實現您自己的依賴項方法。例如,您可以建立在 Web 服務中輪詢資料的依賴項;當資料發生變化時,您可以使快取資料無效。
SqlCacheDependency
ASP.NET 2.0 引入了 SqlCacheDependency 類,它使您能夠在緩衝中配置一個項,以便在 Microsoft SQL Server 資料庫中的表或行上擁有依賴項。當表中或特定行中發生更改時,具有依賴項的快取項目便會失效並從緩衝中移除。ASP.NET 2.0 使您能夠在 SQL Server 7.0、SQL Server 2000 和 SQL Server 2005 中設定表的依賴項。使用 SQL Server 2005 時,您還可以設定特定記錄的依賴項。
緩衝後替換
ASP.NET 2.0 現在支援緩衝後替換,使您能夠將頁中的某一部分配置為不可緩衝。因此,儘管緩衝了該頁,但在再次請求該頁時,將重新處理它的部分內容。例如,您可以使用大多數靜態內容(但不能使用在 Label 控制項中顯示使用者名稱的內容)建立快取頁面。如果不使用緩衝後替換,使用者名稱在所有請求中保持不變。如果使用緩衝後替換,您可以將頁標記為可緩衝,然後將 Label 控制項放置在標記為不可快取的另一個控制項中。此後每次請求該頁時,都會重新整理使用者名稱。
2. 緩衝增強
控制項緩衝
在 ASP.NET 1.1 中,通過設定 @ Control 指令中的參數以聲明方式配置使用者控制項緩衝。在 ASP.NET 2.0 中,可以在運行時使用 CachePolicy 對象配置使用者控制項緩衝設定。CachePolicy 對象使您能夠按照以編程方式處理頁輸出緩衝的相同方式處理使用者控制項緩衝。
緩衝配置增強
除了緩衝設定檔外,ASP.NET 2.0 中還引入了新的緩衝配置設定,可以在應用程式的 Web.config 檔案中指定這些設定。這些設定增加了您對緩衝的控制,如記憶體使用量量和緩衝清理行為。
輸出緩衝指令改進
ASP.NET 2.0 包括新的 @ OutputCache 指令選項以及對現有選項的增強。新功能和增強功能使您能夠對輸出緩衝功能進行聲明控制,而以前只能使用 HttpCachePolicy 類以編程方式實現此類控制。例如,現在可以用聲明方式設定頁 @ OutputCache 指令中的 Duration 屬性和 NoStore 屬性。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/lovelacy/archive/2007/05/09/1601883.aspx