Dispatcher.DisableProcessing Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Disabilita l'elaborazione della coda di 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
Restituisce
Struttura utilizzata per attivare nuovamente l'elaborazione del dispatcher.
Esempio
Nell'esempio seguente viene illustrato come disabilitare l'elaborazione del dispatcher e riabilitare l'elaborazione del dispatcher. DisableProcessing viene chiamato in un'istruzione using . DisableProcessing restituisce una DispatcherProcessingDisabled struttura utilizzata come oggetto da eliminare al termine del blocco using . Quando Dispose viene chiamato sulla struttura, l'elaborazione DispatcherProcessingDisabled del dispatcher viene riabilitata.
// 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
Commenti
La disabilitazione dell'elaborazione del dispatcher è un metodo avanzato destinato a eliminare la possibilità di reentrancy non correlata.
Gli effetti della disabilitazione dell'elaborazione sono i seguenti:
I blocchi CLR non pompano i messaggi internamente.
DispatcherFrame non è consentito eseguire il push degli oggetti.
L'elaborazione dei messaggi non è consentita.
La DispatcherProcessingDisabled struttura che DisableProcessing restituisce quando viene chiamata può essere usata per riabilitare l'elaborazione del dispatcher. La chiamata Dispose alla struttura abilita nuovamente l'elaborazione DispatcherProcessingDisabled .
DisableProcessing può essere chiamato solo sul thread Dispatcher a cui è associato .