ChangeMonitor.NotifyOnChanged(OnChangedCallback) Método

Definição

Chamado pelos implementadores de cache para registar um callback e notificar uma ObjectCache instância através do OnChangedCallback delegado quando uma dependência mudou.

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 a um método que é invocado quando uma dependência mudou.

Exceções

O método de retorno já foi invocado.

onChangedCallback é null.

Observações

Os implementadores de cache usam este método para se ligar a um monitor de alteração. Se associar um ou mais monitores de alteração ao item cache, passa uma CacheItemPolicy instância com uma propriedade de monitores de alterações preenchidos para o item de cache. Um implementador de cache que suporta monitores de alterações é responsável por iterar sobre a ChangeMonitors propriedade e registar os OnChangedCallback delegados com cada monitor de alterações que encontrar.

Como o OnChangedCallback delegado inclui um parâmetro de estado opcional, uma implementação de monitorização de alterações concreta pode passar informação de estado opcional. O implementador da cache determina se pode ser tomada uma dependência explícita do tipo de estado que um monitor de alteração personalizado passa como parte do callback.

Note

A API de extensibilidade da cache base não exige dependência explícita do tipo de estado.

A implementação do NotifyOnChanged método determina automaticamente se o estado do monitor já mudou no momento em NotifyOnChanged que o método é chamado. Se a HasChanged propriedade for true, então o método chama automaticamente o OnChangedCallback gestor de eventos, que foi registado, através do OnChanged método. Isto acontece porque é possível que, desde o momento em que uma implementação de cache cria um monitor de alterações até ao momento em que uma implementação de cache recebe o monitor e se liga a ele, o estado monitorizado subjacente tenha mudado. Se o estado já mudou, então o objeto que é passado ao OnChanged método é null.

O NotifyOnChanged método pode ser invocado apenas uma vez e lançará uma exceção em chamadas subsequentes.

Notas para Herdeiros

  1. Deve ligar ao NotifyOnChanged(OnChangedCallback) método para ser notificado de quaisquer alterações na 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, seja 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 da cache deve remover a entrada da cache e, se for solicitada pelo chamador da cache, gerar o evento de alteração ou atualização necessária de volta ao chamador original da cache.

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

Aplica-se a

Ver também