ChangeMonitor.NotifyOnChanged(OnChangedCallback) Metódus

Definíció

A gyorsítótár-implementátorok meghívták, hogy regisztráljanak egy visszahívást, és értesítsenek egy példányt ObjectCache a meghatalmazotton keresztül, OnChangedCallback ha módosult a függőség.

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)

Paraméterek

onChangedCallback
OnChangedCallback

Hivatkozás egy metódusra, amelyet egy függőség módosításakor hív meg a rendszer.

Kivételek

A visszahívási metódust már meghívták.

onChangedCallback az null.

Megjegyzések

A gyorsítótár-implementátorok ezt a módszert használják arra, hogy átkötjék magukat egy változásfigyelőre. Ha egy vagy több változásfigyelőt társít a gyorsítótárelemhez, egy példányt egy feltöltött változásfigyelő tulajdonsággal a gyorsítótárelemnek ad át CacheItemPolicy . A változásfigyelőket támogató gyorsítótár-implementátor felelős a ChangeMonitors tulajdonságon való iterálásért, és a delegáltak regisztrálásáért az OnChangedCallback általa talált minden változásfigyelővel.

Mivel a OnChangedCallback delegált opcionális állapotparamétert is tartalmaz, egy konkrét változásfigyelő implementáció opcionális állapotinformációkat adhat át. A gyorsítótár-implementátor határozza meg, hogy az egyéni változásfigyelő által a visszahívás részeként áthaladó állapottól való explicit függőséget lehet-e alkalmazni.

Note

Az alapgyorsítótár bővíthetőségi API-ja nem követeli meg az állapot típusától való explicit függőséget.

A metódus implementálása NotifyOnChanged automatikusan meghatározza, hogy a figyelő állapota már megváltozott-e a metódus meghívásának időpontjában NotifyOnChanged . Ha a HasChanged tulajdonság az true, akkor a metódus automatikusan meghívja a OnChangedCallback regisztrált eseménykezelőt a OnChanged metóduson keresztül. Ez azért fordul elő, mert lehetséges, hogy a gyorsítótár-implementáció változásfigyelőt hoz létre, amíg a gyorsítótár implementációja lekéri a figyelőt, és felköti magát, a mögöttes figyelt állapot módosult. Ha az állapot már módosult, akkor a metódusnak OnChanged átadott objektum az .null

A NotifyOnChanged metódus csak egyszer hívható meg, és kivételt fog eredményezni a későbbi hívások esetében.

Megjegyzések az öröklőkhöz

  1. Meg kell hívnia a metódust NotifyOnChanged(OnChangedCallback) , hogy értesítést kapjon a függőségek változásairól. Ha már történt függőségi változás, a rendszer meghívja a OnChangedCallback példányt, amikor NotifyOnChanged(OnChangedCallback) meghívják. Ellenkező esetben a rendszer egyszer hívja meg a OnChangedCallback példányt, akár a OnChanged(Object) metódus meghívásakor, akár a Dispose() metódus meghívásakor, attól függően, hogy melyik történik először. A OnChangedCallback gyorsítótár-implementáció által biztosított példánynak el kell távolítania a gyorsítótár-bejegyzést, és ha a gyorsítótár-hívó kéri, állítsa vissza a szükséges módosítási vagy frissítési eseményt az eredeti gyorsítótár-hívóra.

  2. Az objektumgyorsítótár implementációjának el kell távolítania a függőségváltozáshoz társított gyorsítótár-bejegyzést.

A következőre érvényes:

Lásd még