聚集依赖
有时候,你可能想要合并几个依赖,以此来创建一个依赖多个资源的缓存项。比如,你可能想要创建一个缓存项,当三个文件中的任何一个文件改变的时候,它会失效,或者你想要创建一个缓存项,当一个文件改变或者别的缓存项被移除的时候,它会失效。
创建这些规则十分简单,使用AggregateCacheDependency类就行。
AggregateCacheDependency 可以包裹多个CacheDependency对象。你要做的就是提供一个CacheDependency对象数组,使用AggregateCacheDependency.Add()方法。
Here’s an example that makes a cached item dependent on two files:
下面的代码把缓存依赖在2个文件上
CacheDependency dep1 = new CacheDependency(Server.MapPath("ProductList1.xml"));
CacheDependency dep2 = new CacheDependency(Server.MapPath("ProductList2.xml"));
// Create the aggregate.
CacheDependency[] dependencies = new CacheDependency[]{dep1, dep2};
AggregateCacheDependency aggregateDep = new AggregateCacheDependency();
aggregateDep.Add(dependencies);
// Add the dependent cache item.
Cache.Insert("ProductInfo", prodInfo, aggregateDep);
这个例子不是特别实用,因为你可以创建一个文件名数组,应用到缓存依赖上,实现同样的效果。AggregateCacheDependency在你依赖使用多个不同类型的依赖项非常有效。你可以创建一个依赖项包含文件依赖,SQL缓存一类和自定义缓存依赖。