Dispatcher.DisableProcessing Dispatcher.DisableProcessing Dispatcher.DisableProcessing Dispatcher.DisableProcessing Method

Определение

Отменяет обработку очереди Dispatcher.Disables processing of the Dispatcher queue.

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

Возвраты

Структура, используемая для повторного включения диспетчера.A structure used to re-enable dispatcher processing.

Примеры

В следующем примере показано, как отключить обработку диспетчера и повторно включить обработку диспетчера.The following example shows how to disable dispatcher processing and re-enable dispatcher processing. DisableProcessingвызывается в операторе using .DisableProcessing is called in a using statement. DisableProcessingВозвращает структуру, используемую в качестве объекта, который должен быть удален при завершении блока using. DispatcherProcessingDisabledDisableProcessing returns a DispatcherProcessingDisabled structure that is used as the object to be disposed when the using block finishes. При Dispose вызове DispatcherProcessingDisabled в структуре обработка диспетчера включается повторно.When Dispose is called on the DispatcherProcessingDisabled structure, dispatcher processing is re-enabled.

// 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

Комментарии

Отключение обработки диспетчера является расширенным методом, который предназначен для устранения вероятности несвязанного повторного входа.Disabling dispatcher processing is an advanced method that is intended to eliminate the chance of unrelated reentrancy.

Ниже приведены последствия отключения обработки.The effects of disabling processing are as follows:

  • Блокировки CLR не будут внутренним образом передавать сообщения.CLR locks will not pump messages internally.

  • DispatcherFrameОтправка объектов запрещена.DispatcherFrame objects are not allowed to be pushed.

  • Обработка сообщений запрещена.Message processing is not permitted.

Структура, возвращаемая при вызове, DisableProcessing может быть использована для повторного включения обработки диспетчера. DispatcherProcessingDisabledThe DispatcherProcessingDisabled structure that DisableProcessing returns when it is called can be used to re-enable dispatcher processing. Вызов Dispose методаDispatcherProcessingDisabled в структуре повторно включает обработку.Calling Dispose on the DispatcherProcessingDisabled structure re-enables processing.

DisableProcessingможет вызываться только в потоке, Dispatcher с которым связан объект.DisableProcessing can only be called on the thread the Dispatcher is associated with.

Применяется к