缓存依赖中cachedependency对象
1.SQL 緩存依賴項可用于應用程序緩存和頁輸出緩存。
2.可在 SQL Server 7.0 及更高版本中使用 SQL 緩存依賴項。
3.可以在網絡園(一臺服務器上存在多個處理器)或網絡場(多臺服務器運行同一應用程序)中使用 SQL 緩存依賴項。
4.與 SQL 緩存依賴項關聯的數據庫操作比較簡單,因此不會給服務器帶來很高的處理成本。
現在把與緩存依賴相關的對象集合如下,并對差異性進行了一定程度的分析……
???? ?? 緩存依賴主要由3個核心類來實現:CacheDependency、AggregateCacheDependency、SqlCacheDependency。CacheDependency 類是 AggregateCacheDependency 類和 SqlCacheDependency 類的父類。
CacheDependency跟蹤緩存依賴項,緩存依賴項可以是應用程序的 Cache 中的文件、目錄或與其他對象的鍵,可用于實現自定義緩存依賴。//對文件可起作用。
SqlCacheDependency類在所有受支持的 SQL Server 版本 (7.0, 2000, 2005) 上監視特定的 SQL Server 數據庫表,以便在該表發生更改時,自動從 Cache 中刪除與該表關聯的項。數據庫表發生更改時,將自動刪除緩存項,并向 Cache 中添加新版本的項。在使用 SQL Server 2005 數據庫時,SqlCacheDependency 類還支持與 System.Data.SqlClient.SqlDependency 類進行集成。使用 SQL Server 2005 的查詢通知機制來檢測使 SQL 查詢結果無效的數據更改。與 SQL 查詢關聯的任何緩存項都將從 System.Web.Caching.Cache 中移除。在使用 SQL Server 2005 時,可以使用 SqlCacheDependency 類向應用程序的 Cache 添加依賴于 SQL Server 數據庫表或 SQL 查詢的項。//對數據表的支持
AggregateCacheDependency類監視依賴項對象的集合,以便在任何依賴項對象更改時,該緩存項都會自動移除。數組中的對象可以是CacheDependency或者SqlCacheDependency對象、從CacheDependency派生的自定義對象或這些對象的任意組合.
AggregateCacheDependency類與CacheDependency類的不同之處在于前者允許您將不同類型的多個依賴項與單個緩存項關聯。例如,如果您創建一個從 SQL Server 數據庫表和 XML 文件導入數據的頁,則可創建一個SqlCacheDependency對象來表示數據庫表的依賴項,以及一個CacheDependency來表XML 文件的依賴項。可創建 AggregateCacheDependency類的一個實例,將每個依賴項添加到該類中,而不是為每個依賴項調用 Cache.Insert 方法。然后,可使用單個Insert 調用使該頁依賴于 AggregateCacheDependency實例。
其中,本章主要講述CacheDependency的用法。CacheDependency有幾中重載,各作用如下。
//假設緩存的來源文件是當前目錄下的data.xml文件
//緩存依賴的文件路徑
??? CacheDependency mydep = new CacheDependency("data.xml");
//緩存依賴的文件可以有多個
??? CacheDependency mydep1=new CacheDependency(new string []{"data.xml","data1.xml"});
//檢查緩存依賴更改的依據時間
??? CacheDependency mydep2 = new CacheDependency("data.xml", DateTime.Now);
//檢查多個依賴文件更改的依據時間
??? CacheDependency mydep3 = new CacheDependency(new string[] { "data.xml", "data1.xml" }, DateTime.Now);
//檢查依賴多個文件,也依賴多個緩存鍵值
??? CacheDependency mydep4 = new CacheDependency(new string[] { "data.xml", "data1.xml" },new string[] { "Category", "Category1" });
//關聯依賴,還可以依賴于另一個文件緩存依賴
??? CacheDependency mydep5 = new CacheDependency(new string[] { "data.xml", "data1.xml" },new string[] { "Category", "Category1" }, mydep);
//文件和鍵值上次修改的依據時間
??? CacheDependency mydep6 = new CacheDependency(new string[] { "data.xml", "data1.xml" },new string[] { "Category", "Category1" }, DateTime.Now);
//文件、另一個緩存依賴和鍵值上次修改的依據時間
??? CacheDependency mydep6 = new CacheDependency(new string[] { "data.xml", "data1.xml" },new string[] { "Category", "Category1" }, mydep,DateTime.Now);
實例:
[html]?view plain?copy ?print?其中
1.記得在view頁面為gridview綁定相應的數據字段。
2.注意xml的格式,作者本人在實驗的時候就應Xml數據格式的問題導致讀取的數據綁定失敗。
總結
以上是生活随笔為你收集整理的缓存依赖中cachedependency对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: USACO 1.3-Combinatio
- 下一篇: Software_King-jdk配置j