Condividi tramite


Dispatcher.DisableProcessing Metodo

Definizione

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

DispatcherProcessingDisabled

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 .

Si applica a