跟踪缓存依赖项,缓存依赖项可以是应用程序的 Cache 中的文件、目录或与其他对象的键。无法继承此类。
有关此类型所有成员的列表,请参阅 CacheDependency 成员。
System.Object
System.Web.Caching.CacheDependency
[Visual Basic] NotInheritable Public Class CacheDependency Implements IDisposable
[C#] public sealed class CacheDependency : IDisposable
[C++] public __gc __sealed class CacheDependency : public IDisposable
[JScript] public class CacheDependency implements IDisposable
线程安全
此类型的所有公共静态(Visual Basic 中为 Shared)成员对多线程操作而言都是安全的。但不保证任何实例成员是线程安全的。
备注
可以用 Add 和 Insert 方法向应用程序缓存中添加具有依赖项的项。
当向应用程序的 Cache 对象添加一项,从而为该项定义一个缓存依赖项时,将自动创建 CacheDependency 类的一个实例来跟踪对所指定文件、键或目录的更改。这有助于避免丢失在创建对象时和将其插入 Cache 时之间对对象进行的更改。CacheDependency 实例可以表示单个文件或目录、一组文件或目录,或者带有一系列缓存键的一组文件或目录(这些缓存键表示 Cache 对象中存储的其他项)。
示例
[Visual Basic, C#] 下面的示例说明如何使用 HasChanged 属性来确定 CacheDependency 是否在对 Cache 中某项的上一个请求之后已更改。将传入 start 参数的 dt 值设置为 DateTime.Now。
[Visual Basic] ' Insert the cache item. Dim dep As New
CacheDependency(fileName, dt) myCache.Insert("key", "value", dep) '
Check whether CacheDependency.HasChanged is true. If dep.HasChanged
Then Response.Write("
The dependency has changed.") Else Response.Write("
The dependency has not changed.") End If
[C#] // Insert the cache item. CacheDependency dep = new CacheDependency(fileName, dt);
cache.Insert("key", "value", dep);
// Check whether CacheDependency.HasChanged is true. if (dep.HasChanged) Response.Write("
The dependency has changed."); else Response.Write("
The dependency has not changed.");