ChangeMonitor.NotifyOnChanged(OnChangedCallback) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Chamado pelos implementadores de cache para registrar um retorno de chamada e notificar uma instância de ObjectCache por meio do delegado de OnChangedCallback quando uma dependência tiver sido alterada.
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)
Parâmetros
- onChangedCallback
- OnChangedCallback
Uma referência para um método que será invocado quando uma dependência tiver sido alterada.
Exceções
O método de retorno de chamada já foi invocado.
onChangedCallback
é null
.
Comentários
Os implementadores de cache usam esse método para conectar-se a um monitor de alteração. Se você associar um ou mais monitores de alteração ao item de cache, passe uma CacheItemPolicy instância com uma propriedade de monitores de alteração populada para o item de cache. Um implementador de cache que dá suporte a monitores de alteração é responsável por iterar pela ChangeMonitors propriedade e registrar os OnChangedCallback delegados em cada monitor de alteração encontrado.
Como o OnChangedCallback delegado inclui um parâmetro de estado opcional, uma implementação concreta do monitor de alteração pode passar informações de estado opcionais. O implementador de cache determina se uma dependência explícita no tipo de estado que um monitor de alteração personalizado passa como parte do retorno de chamada pode ser obtida.
Observação
A API de extensibilidade do cache base não tem nenhum requisito para dependência explícita no tipo de estado.
A implementação do NotifyOnChanged método determina automaticamente se o estado do monitor já foi alterado no momento NotifyOnChanged em que o método é chamado. Se a HasChanged propriedade for true
, o método chamará automaticamente o OnChangedCallback manipulador de eventos, que foi registrado, por meio do OnChanged método . Isso ocorre porque é possível que, a partir do momento em que uma implementação de cache cria um monitor de alteração, até o momento em que uma implementação de cache obtém o monitor e se conecta a ele, o estado monitorado subjacente foi alterado. Se o estado já tiver sido alterado, o objeto passado para o OnChanged método será null
.
O NotifyOnChanged método pode ser invocado apenas uma vez e gerará uma exceção em chamadas subsequentes.
Notas aos Herdeiros
Você deve chamar o NotifyOnChanged(OnChangedCallback) método para ser notificado sobre quaisquer alterações de dependência. Se uma alteração de dependência já tiver ocorrido, a OnChangedCallback instância será chamada quando NotifyOnChanged(OnChangedCallback) for chamada. Caso contrário, a OnChangedCallback instância será chamada uma vez, quando o OnChanged(Object) método for chamado ou quando o Dispose() método for chamado, o que ocorrer primeiro. A OnChangedCallback instância fornecida pela implementação de cache deve remover a entrada de cache e, se ela for solicitada pelo chamador de cache, gerar o evento de alteração ou atualização necessário de volta para o chamador de cache original.
A implementação do cache de objeto deve remover a entrada de cache associada a uma alteração de dependência.