缓存依赖是实现缓存功能中的非常重要部分。通过缓存依赖,可以在被依赖对象(比如文件、目录、数据库表等)与缓存对象之间建立一个有效关联。当被依赖对象发生改变的时候,缓存对象将变的不可用,并自动从缓存中移除。
缓存依赖功能主要有三个核心类实现:
CacheDependency、AggregateCacheDependency和SqlCacheDependency。
CacheDependency类是AggregateCacheDependency和SqlCacheDependency的父类。主要用于在应用程序数据缓存对象与文件、缓存键、文件或缓存键的数组或另一个CacheDependency对象之间建立以来管理。CacheDependency类将监视依赖关系,以便在任何对象更改时,自动移除缓存对象。
AggregateCacheDependency类继承自CacheDependency,主要用于实现聚合缓存依赖。该类能够将不同的缓存依赖项聚合在一起,形成一个自定义的聚合缓存依赖。该类的聚合对象可以是CacheDependency对象、SqlCacheDependency对象、从CacheDependency派生的自定义对象或这些对象的任意组合。
SqlCacheDependency类继承自CacheDependency,它能够调用多种对象如应用程序数据缓存对象、页面输出缓存对象、数据源控件等,与指定SQLServer数据库表或SQLServer2005查询结果之间建立缓存依赖关系。创建SQL数据缓存以来关系后,SqlCacheDependency类将监视指定的SQLServer数据库表,以便在该表发生更改时,自动从缓存中删除和重新添加与该表关联的缓存对象。