ChangeMonitor.NotifyOnChanged(OnChangedCallback) 方法

定义

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

public:
 void NotifyOnChanged(System::Runtime::Caching::OnChangedCallback ^ onChangedCallback);
public void NotifyOnChanged (System.Runtime.Caching.OnChangedCallback onChangedCallback);
member this.NotifyOnChanged : System.Runtime.Caching.OnChangedCallback -> unit
Public Sub NotifyOnChanged (onChangedCallback As OnChangedCallback)

参数

onChangedCallback
OnChangedCallback

对在某个依赖项更改时要调用的方法的引用。

例外

已调用回调方法。

onChangedCallbacknull

注解

缓存实现者使用此方法将自身连接到更改监视器。 如果将一个或多个更改监视器与缓存项相关联,则会将具有填充的更改监视器属性的实例传递给 CacheItemPolicy 缓存项。 支持更改监视器的缓存实现程序负责循环访问 ChangeMonitors 属性,并将委托注册 OnChangedCallback 到它找到的每个更改监视器。

OnChangedCallback由于委托包含可选状态参数,因此具体的更改监视器实现可以传递可选状态信息。 缓存实现程序确定是否可以显式依赖自定义更改监视器作为回调的一部分传递的状态类型。

注意

基本缓存扩展性 API 不要求显式依赖状态类型。

方法的 NotifyOnChanged 实现会自动确定在调用方法时 NotifyOnChanged 监视器的状态是否已更改。 HasChanged如果 属性为 true,则方法通过 OnChanged 方法自动调用OnChangedCallback已注册的事件处理程序。 出现这种情况的原因是,从缓存实现创建更改监视器到缓存实现获取监视器并连接到监视器时,基础受监视状态可能已更改。 如果状态已更改,则传递给 方法的对象 OnChangednull

方法 NotifyOnChanged 只能调用一次,并且会在后续调用中引发异常。

继承者说明

  1. 必须调用 NotifyOnChanged(OnChangedCallback) 方法才能收到任何依赖项更改的通知。 如果已发生依赖项更改,则 OnChangedCallback 调用 时 NotifyOnChanged(OnChangedCallback) 将调用 实例。 否则,OnChangedCallback在调用 方法或调用 方法时OnChanged(Object)Dispose()(以先发生者为准)调用实例一次。 OnChangedCallback缓存实现提供的实例应删除缓存条目,如果缓存调用方请求了缓存条目,请将必要的更改或更新事件引发回原始缓存调用方。

  2. 对象缓存实现必须删除与依赖项更改关联的缓存条目。

适用于

另请参阅