ChangeMonitor 类

定义

为用于监视缓存项所依赖数据的状态更改的派生自定义类型提供基类。

public ref class ChangeMonitor abstract : IDisposable
public abstract class ChangeMonitor : IDisposable
type ChangeMonitor = class
    interface IDisposable
Public MustInherit Class ChangeMonitor
Implements IDisposable
继承
ChangeMonitor
派生
实现

注解

ChangeMonitor 用作专用于特定缓存实现的派生监视器类的基类。 实例 ChangeMonitor 监视缓存项所依赖的数据状态的更改。 例如,项可以是缓存其内容的文件或数据实体。 如果文件或数据实体已更新,则还必须更改关联的缓存条目。 可监视的常见项包括数据实体 (,例如数据库字段、值、行或表) 、另一个缓存条目以及文件和文件属性。

依赖项更改是依赖项状态的更改。 在典型的缓存实现中 ChangeMonitor ,在实例通知缓存依赖项已更改后,缓存将执行所需的操作,例如使插入的缓存项失效。

ChangeMonitor可以自定义派生类,以监视特定不同数据存储的依赖项更改。 例如,文件系统、物理内存或数据库的缓存实现。 类 ChangeMonitor 检查缓存外部发生的更改,然后提醒缓存发生更改。

.NET Framework包括派生自ChangeMonitor类的以下类:

其中每个类都适用于不同类型的依赖项。 例如,派 FileChangeMonitor 生类监视对缓存项所依赖的文件系统数据的缓存 (文件和文件夹) 的更改。

实施者说明

如果创建自定义缓存实现或派生的更改监视器类型,则必须遵循某些准则。 以下列表汇总了这些准则。 有关详细信息,请参阅各个方法或属性的文档。

注意:仅当实例的初始化 ChangeMonitor 之前已完成时,才会在事件触发期间自动调用 dispose 方法。

当派生的更改监视器的构造函数调用 InitializationComplete() 方法时,如果更改监视器的状态已更改 (也就是说,当构造函数仍然处于活动状态时受监视的状态已更改) 则 InitializationComplete() 该方法将自动释放更改监视器。

构造函数

ChangeMonitor()

初始化 ChangeMonitor 类的新实例。 从派生类中的构造函数调用此构造函数以初始化基类。

属性

HasChanged

获取一个值,该值指示由 ChangeMonitor 类监视的状态已发生更改。

IsDisposed

获取一个值,该值指示释放 ChangeMonitor 类的派生实例。

UniqueId

获取一个表示 ChangeMonitor 类实例的值。

方法

Dispose()

释放由 ChangeMonitor 类的当前实例占用的所有资源。

Dispose(Boolean)

释放所有托管资源和非托管资源,以及对 ChangeMonitor 实例的任何引用。 此重载必须由派生的更改监视器类实现。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
InitializationComplete()

从派生类的构造函数进行调用以指示初始化已完成。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
NotifyOnChanged(OnChangedCallback)

由缓存实施者调用来注册回调,并在某个依赖项已更改时通过 ObjectCache 委托通知 OnChangedCallback 实例。

OnChanged(Object)

由派生类调用以在某个依赖项发生更改时引发事件。

ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

线程安全性

此类型是线程安全的。

另请参阅