Sdílet prostřednictvím


ChangeMonitor.NotifyOnChanged(OnChangedCallback) Metoda

Definice

Volání implementátory mezipaměti zaregistrovat zpětné volání a oznámit ObjectCache instanci prostřednictvím delegáta OnChangedCallback při změně závislosti.

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á je vyvolána při změně závislosti.

Výjimky

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

onChangedCallback je null.

Poznámky

Implementátory mezipaměti používají tuto metodu k připojení k monitorování změn. Pokud k položce mezipaměti přidružíte jedno nebo více monitorování změn, předáte CacheItemPolicy instanci s vyplněnou vlastností sledování změn do položky mezipaměti. Implementátor mezipaměti, který podporuje monitorování změn, zodpovídá za iteraci ChangeMonitors vlastnosti a registraci OnChangedCallback delegátů s každým sledováním změn, které najde.

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

Poznámka

Rozhraní API rozšiřitelnosti základní mezipaměti nevyžaduje 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 sama se k němu, základní monitorovaný stav se změnil. Pokud se stav již změnil, objekt, který je předán OnChanged metodě , je null.

Metoda NotifyOnChanged může být vyvolána 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) , abyste byli informováni o jakýchkoli změnách závislostí. Pokud již došlo ke změně závislosti, OnChangedCallback bude při volání volána NotifyOnChanged(OnChangedCallback) instance. OnChangedCallback V opačném případě bude instance volána jednou, buď při OnChanged(Object) zavolání metody, nebo při Dispose() zavolání metody, podle toho, co nastane dříve. 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, která je přidružena ke změně závislosti.

Platí pro

Viz také