ChangeMonitor.NotifyOnChanged(OnChangedCallback) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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.
A implementação da cache de objetos deve remover a entrada de cache associada a uma alteração de dependência.