ChangeMonitor.NotifyOnChanged(OnChangedCallback) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывается средствами реализации кэша для регистрации обратного вызова и уведомления экземпляра ObjectCache об изменении зависимости с использованием делегата OnChangedCallback.
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)
Параметры
- onChangedCallback
- OnChangedCallback
Ссылка на метод, вызываемый при изменении зависимости.
Исключения
Метод обратного вызова уже вызван.
onChangedCallback
имеет значение null
.
Комментарии
Разработчики кэша используют этот метод для подключения к монитору изменений. При связывании одного или нескольких мониторов изменений с элементом CacheItemPolicy кэша вы передаете экземпляр с заполненным свойством мониторов изменений в элемент кэша. Средство реализации кэша, поддерживающее мониторы изменений, отвечает за итерацию ChangeMonitors свойства и регистрацию OnChangedCallback делегатов в каждом обнаруженном мониторе изменений.
OnChangedCallback Так как делегат включает необязательный параметр состояния, конкретная реализация монитора изменений может передавать необязательные сведения о состоянии. Реализующий кэш определяет, может ли быть взята явная зависимость от типа состояния, которое проходит пользовательский монитор изменений в рамках обратного вызова.
Примечание
API расширяемости базового кэша не требует явной зависимости от типа состояния.
Реализация NotifyOnChanged метода автоматически определяет, изменилось ли состояние монитора во время NotifyOnChanged вызова метода.
HasChanged Если свойство имеет значение true
, метод автоматически вызывает зарегистрированный OnChangedCallback обработчик событий с помощью OnChanged метода . Это происходит потому, что возможно, что с момента создания монитора изменений реализацией кэша до момента, когда реализация кэша получает монитор и подключается к нему, базовое отслеживаемое состояние изменилось. Если состояние уже изменилось, то объект, передаваемый методу OnChanged , имеет значение null
.
Метод NotifyOnChanged может вызываться только один раз и будет вызывать исключение при последующих вызовах.
Примечания для тех, кто наследует этот метод
Необходимо вызвать метод , NotifyOnChanged(OnChangedCallback) чтобы получать уведомления об изменениях зависимостей. Если изменение зависимости уже произошло, OnChangedCallback экземпляр будет вызываться при NotifyOnChanged(OnChangedCallback) вызове . OnChangedCallback В противном случае экземпляр будет вызываться один раз при вызове OnChanged(Object) метода или при вызове Dispose() метода в зависимости от того, что произойдет первым. Экземпляр OnChangedCallback , предоставляемый реализацией кэша, должен удалить запись кэша и, если она запрашивается вызывающим элементом кэша, вызовите необходимое событие изменения или обновления обратно исходному вызывающему объекту кэша.
Реализация кэша объектов должна удалить запись кэша, связанную с изменением зависимостей.