Dispatcher.DisableProcessing 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.
Desabilita o processamento da fila de Dispatcher.
public:
System::Windows::Threading::DispatcherProcessingDisabled DisableProcessing();
public System.Windows.Threading.DispatcherProcessingDisabled DisableProcessing ();
member this.DisableProcessing : unit -> System.Windows.Threading.DispatcherProcessingDisabled
Public Function DisableProcessing () As DispatcherProcessingDisabled
Retornos
Uma estrutura usada para habilitar novamente o processamento do dispatcher.
Exemplos
O exemplo a seguir mostra como desabilitar o processamento do dispatcher e reabilitar o processamento do dispatcher. DisableProcessing é chamado em uma instrução using . DisableProcessing retorna uma DispatcherProcessingDisabled estrutura que é usada como o objeto a ser descartado quando o bloco de uso é concluído. Quando Dispose é chamado na estrutura, o DispatcherProcessingDisabled processamento do dispatcher é habilitado novamente.
// The Dispose() method is called at the end of the using statement.
// Calling Dispose on the DispatcherProcessingDisabled structure,
// which is returned from the call to DisableProcessing, will
// re-enalbe Dispatcher processing.
using (Dispatcher.DisableProcessing())
{
// Do work while the dispatcher processing is disabled.
Thread.Sleep(2000);
}
' The Dispose() method is called at the end of the using statement.
' Calling Dispose on the DispatcherProcessingDisabled structure,
' which is returned from the call to DisableProcessing, will
' re-enable Dispatcher processing.
Using Dispatcher.DisableProcessing()
' Do work while the dispatcher processing is disabled.
Thread.Sleep(2000)
End Using
Comentários
Desabilitar o processamento do dispatcher é um método avançado que se destina a eliminar a chance de reentração não relacionada.
Os efeitos da desabilitação do processamento são os seguintes:
Os bloqueios CLR não bombearão mensagens internamente.
DispatcherFrame os objetos não têm permissão para serem enviados por push.
O processamento de mensagens não é permitido.
A DispatcherProcessingDisabled estrutura que DisableProcessing retorna quando é chamada pode ser usada para habilitar novamente o processamento do dispatcher. Chamar Dispose a estrutura reabilita o DispatcherProcessingDisabled processamento.
DisableProcessing só pode ser chamado no thread ao qual está Dispatcher associado.