Partager via


ChangeMonitor.NotifyOnChanged(OnChangedCallback) Méthode

Définition

Appelée par les implémenteurs de cache pour inscrire un rappel et notifier une instance de ObjectCache via le délégué OnChangedCallback lorsqu'une dépendance a été modifiée.

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ètres

onChangedCallback
OnChangedCallback

Référence à une méthode appelée lorsqu'une dépendance a été modifiée.

Exceptions

La méthode de rappel a déjà été appelée.

onChangedCallback a la valeur null.

Remarques

Les implémenteurs de cache utilisent cette méthode pour se connecter à un moniteur de modification. Si vous associez un ou plusieurs moniteurs de modification à l’élément de cache, vous passez un CacheItemPolicy instance avec une propriété de moniteurs de modification renseignée à l’élément de cache. Un implémenteur de cache qui prend en charge les moniteurs de modification est chargé d’itérer sur la ChangeMonitors propriété et d’inscrire les OnChangedCallback délégués avec chaque moniteur de modification qu’il trouve.

Étant donné que le délégué inclut un paramètre d’état facultatif, une implémentation concrète de OnChangedCallback l’analyse des modifications peut transmettre des informations d’état facultatives. L’implémenteur de cache détermine si une dépendance explicite sur le type d’état qu’un moniteur de modification personnalisé passe dans le cadre du rappel peut être prise.

Notes

L’API d’extensibilité du cache de base n’a pas besoin d’une dépendance explicite sur le type d’état.

L’implémentation de la NotifyOnChanged méthode détermine automatiquement si l’état du moniteur a déjà changé au moment où NotifyOnChanged la méthode est appelée. Si la HasChanged propriété est true, la méthode appelle automatiquement le OnChangedCallback gestionnaire d’événements, qui a été inscrit, par le biais de la OnChanged méthode . Cela se produit parce qu’il est possible qu’à partir du moment où une implémentation de cache crée un moniteur de modification, jusqu’au moment où une implémentation de cache obtient le moniteur et s’y connecte elle-même, l’état surveillé sous-jacent a changé. Si l’état a déjà changé, l’objet passé à la OnChanged méthode est null.

La NotifyOnChanged méthode ne peut être appelée qu’une seule fois et lève une exception lors des appels suivants.

Notes pour les héritiers

  1. Vous devez appeler la NotifyOnChanged(OnChangedCallback) méthode pour être informé de toute modification de dépendance. Si une modification de dépendance s’est déjà produite, le OnChangedCallback instance est appelé quand NotifyOnChanged(OnChangedCallback) est appelé. Sinon, le OnChangedCallback instance sera appelé une seule fois, soit lorsque la OnChanged(Object) méthode est appelée, soit quand la Dispose() méthode est appelée, selon ce qui se produit en premier. La OnChangedCallback instance fournie par l’implémentation du cache doit supprimer l’entrée de cache et, si elle est demandée par l’appelant du cache, déclenchez l’événement de modification ou de mise à jour nécessaire à l’appelant du cache d’origine.

  2. L’implémentation du cache d’objets doit supprimer l’entrée de cache associée à une modification de dépendance.

S’applique à

Voir aussi