通过


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)

适用于

线程安全性

此类型是线程安全的。

另请参阅