Condividi tramite


ChangeMonitor.NotifyOnChanged(OnChangedCallback) Metodo

Definizione

Chiamato dalle implementazioni della cache per registrare un callback e notificare a un'istanza ObjectCache tramite il delegato OnChangedCallback quando una dipendenza viene modificata.

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)

Parametri

onChangedCallback
OnChangedCallback

Riferimento a un metodo richiamato quando viene modificata una dipendenza.

Eccezioni

Il metodo callback è stato già richiamato.

onChangedCallback è null.

Commenti

Gli implementatori della cache usano questo metodo per collegare se stessi a un monitoraggio delle modifiche. Se si associano uno o più monitoraggi delle modifiche all'elemento della cache, si passa un'istanza CacheItemPolicy con una proprietà di monitoraggio delle modifiche popolata all'elemento della cache. Un implementer della cache che supporta i monitoraggi delle modifiche è responsabile dell'iterazione sulla ChangeMonitors proprietà e registrare i OnChangedCallback delegati con ogni monitoraggio delle modifiche trovato.

Poiché il OnChangedCallback delegato include un parametro di stato facoltativo, un'implementazione di monitoraggio delle modifiche concrete può passare informazioni sullo stato facoltative. L'implementazione della cache determina se è possibile eseguire una dipendenza esplicita sul tipo di stato che un monitoraggio modifiche personalizzato passa come parte del callback.

Nota

L'API di estendibilità della cache di base non ha alcun requisito per la dipendenza esplicita dal tipo di stato.

L'implementazione del metodo determina automaticamente se lo stato del NotifyOnChanged monitoraggio è già stato modificato al momento NotifyOnChanged della chiamata al metodo. Se la HasChanged proprietà è true, il metodo chiama automaticamente il OnChangedCallback gestore eventi, registrato tramite il OnChanged metodo . Ciò si verifica perché è possibile che, dal momento in cui un'implementazione della cache crei un monitoraggio delle modifiche, al momento in cui un'implementazione della cache ottiene il monitoraggio e si collega a esso, lo stato monitorato sottostante è cambiato. Se lo stato è già cambiato, l'oggetto passato al OnChanged metodo è null.

Il NotifyOnChanged metodo può essere richiamato una sola volta e genererà un'eccezione nelle chiamate successive.

Note per gli eredi

  1. È necessario chiamare il NotifyOnChanged(OnChangedCallback) metodo per ricevere una notifica di eventuali modifiche alle dipendenze. Se si è già verificata una modifica della dipendenza, l'istanza OnChangedCallback verrà chiamata quando NotifyOnChanged(OnChangedCallback) viene chiamata. In caso contrario, l'istanza OnChangedCallback verrà chiamata una volta, quando viene chiamato il metodo o quando viene chiamato il OnChanged(Object)Dispose() metodo, che si verifica per primo. L'istanza OnChangedCallback fornita dall'implementazione della cache deve rimuovere la voce della cache e, se richiesta dal chiamante della cache, generare la modifica o aggiornare l'evento necessario al chiamante della cache originale.

  2. L'implementazione della cache degli oggetti deve rimuovere la voce della cache associata a una modifica della dipendenza.

Si applica a

Vedi anche