ChangeMonitor.NotifyOnChanged(OnChangedCallback) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 true
vlastnost , 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
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.
Implementace mezipaměti objektů musí odebrat položku mezipaměti, která je přidružena ke změně závislosti.