ChangeMonitor.NotifyOnChanged(OnChangedCallback) Método

Definição

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

  1. 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.

  2. A implementação do cache de objeto deve remover a entrada de cache associada a uma alteração de dependência.

Aplica-se a

Confira também