命名空間: system.web.caching ,這個空間是asp.net的基礎結構中的重要部分,比如:session就是存儲在cache中的。
cache對象有兩種級別的訪問控制:public和private的。private是被系統組件保留使用的;只有public的才是留給程序員的接口,可以使用ienumerable接口來枚舉public狀態下的數據。
asp.net 提供了3中級別的cache:
page level---緩存整個頁面;
page fragment---可以緩存諸如.ascs等控件,是頁面的一部分緩存;
programmatic caching---通過public cache api 編程緩存數據;
在 asp.net 2.0 中page level 的緩存機制被擴展到支持依賴數據庫的緩存。也就是可以把page level頁面緩存數據和數據庫表中的數據設置為依賴。當數據表中數據變動后page level的緩存就自動失效,這可就解決了page level緩存時間不好控制的難處。
看個例子:
在asp.net 1.x 中page level的代碼:
<%@ outputcache duration=”3600” varybyparam=”prodid” %>
在asp.net 2.0 中的page level的代碼:
<%@ outputcache duration=”3600” varybyparam=”prodid” sqldependency=”northwind:products” %>
注意:雖然頁面的緩存時間是3600秒,但是如果northwind:products表數據變動時,那么這個緩存就失效了。
說明:sqldependency 是一個新增的屬性,由2部分組成:數據源和表名,配置在:web.config中,詳見相關文檔。
asp.net 2.0 還提供了sqlcachedependency 和cachedependency 兩個緩存相關類。
新聞熱點
疑難解答
圖片精選