Sdílet prostřednictvím


ChangeMonitor.NotifyOnChanged(OnChangedCallback) Metoda

Definice

Volání implementátorů mezipaměti k registraci zpětného volání a upozorňovat ObjectCache instanci prostřednictvím delegáta OnChangedCallback , když se závislost změnila.

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)

Parametry

onChangedCallback
OnChangedCallback

Odkaz na metodu, která se vyvolá při změně závislosti.

Výjimky

Metoda zpětného volání již byla vyvolána.

onChangedCallback je null.

Poznámky

Implementátoři mezipaměti používají tuto metodu k připojení k monitorování změn. Pokud k položce mezipaměti přidružíte jeden nebo více monitorů změn, předáte CacheItemPolicy instanci s vyplněnou vlastností monitorování změn do položky mezipaměti. Implementátor mezipaměti, který podporuje monitorování změn, zodpovídá za iteraci nad ChangeMonitors vlastností a zaregistruje OnChangedCallback delegáty u každého monitoru změn, který najde.

OnChangedCallback Vzhledem k tomu, že delegát obsahuje volitelný parametr stavu, může implementace monitorování konkrétních změn předat volitelné informace o stavu. Implementátor mezipaměti určuje, zda lze přijmout explicitní závislost na typu stavu, který vlastní monitorování změn předává jako součást zpětného volání.

Poznámka:

Rozhraní API rozšiřitelnosti základní mezipaměti nemá žádný požadavek na explicitní závislost na typu stavu.

Implementace NotifyOnChanged metody automaticky určuje, zda se stav monitorování již změnil v době NotifyOnChanged , kdy je volána metoda. HasChanged Pokud je truevlastnost , pak metoda automaticky volá obslužnou rutinu OnChangedCallback události, která byla zaregistrována prostřednictvím OnChanged metody. K tomu dochází, protože je možné, že od okamžiku, kdy implementace mezipaměti vytvoří monitorování změn, do doby, kdy implementace mezipaměti získá monitorování a provede připojení k němu, se základní monitorovaný stav změnil. Pokud stav již změnil, pak objekt, který je předán metodě OnChanged je null.

Metodu NotifyOnChanged lze vyvolat pouze jednou a vyvolá výjimku při následných voláních.

Poznámky pro dědice

  1. Je nutné volat metodu NotifyOnChanged(OnChangedCallback) , která bude upozorněna na všechny změny závislostí. Pokud už došlo ke změně závislosti, OnChangedCallback bude instance volána při NotifyOnChanged(OnChangedCallback) volání. OnChangedCallback Jinak bude instance volána jednou, a to buď při OnChanged(Object) zavolání metody, nebo při Dispose() zavolání metody, podle toho, která nastane první. Instance OnChangedCallback poskytovaná implementací mezipaměti by měla odebrat položku mezipaměti a pokud je požadována volajícím mezipaměti, vyvolat potřebnou změnu nebo aktualizovat událost zpět původnímu volajícímu mezipaměti.

  2. Implementace mezipaměti objektů musí odebrat položku mezipaměti přidruženou ke změně závislosti.

Platí pro

Viz také