ChangeMonitor.NotifyOnChanged(OnChangedCallback) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
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.
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.