Język

JoinableTaskFactory.DisableProcessing Metoda

Definicja

Zapobiega uruchamianiu filtrowanych pomp komunikatów podczas synchronicznych oczekiwań otoczenia JoinableTask.

public Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation DisableProcessing();
member this.DisableProcessing : unit -> Microsoft.VisualStudio.Threading.JoinableTaskFactory.ProcessingDisabledOperation
Public Function DisableProcessing () As JoinableTaskFactory.ProcessingDisabledOperation

Zwraca

Wartość, która może zostać usunięta, gdy zostanie zakończona potrzeba pomijania synchronicznych pomp komunikatów oczekiwania. Alternatywnie można go odrzucić, jeśli reszta JoinableTask obiektu ma zostać wyłączona.

Wyjątki

Wyrzucony po wywołaniu poza kontekstem elementu JoinableTask.

Przykłady

Oto proste, typowe użycie tej metody:

Poniżej przedstawiono więcej przykładów sposobu jej użycia:

Uwagi

Podczas uzyskiwania await w obrębie JoinableTaskelementu pompa komunikatów nie jest uruchamiana niezależnie od tego, czy ta metoda jest wywoływana, z wyjątkiem metody wewnętrznej, która umożliwia tylko odpowiednią pracę. Gdy kod użytkownika jest uruchamiany w delegatu JoinableTask lub jego wywołaniach, które wymagają synchronicznego bloku głównego wątku (np. synchronicznego we/wy lub blokady rywalizacji), to oczekiwanie jest zwykle implementowane przez wywołanie Wait(IntPtr[], Boolean, Int32) metody .Current Domyślna implementacja tej metody pozwala na pewne przerwy (e.g. COM wywołania RPC), które mogą uniknąć zakleszczenia w niektórych sytuacjach.

Wywołanie tej metody spowoduje zastąpienie domyślnej implementacji Wait(IntPtr[], Boolean, Int32) elementem , który nie pozwoli na takie przerwy, gdy JoinableTask jest aktywny i kontroluje Currentelement . Ponieważ ta metoda może być wywoływana wiele razy, ten efekt pozostaje w obiekcie docelowym JoinableTask do momentu usunięcia wszystkich DisableProcessing() wartości zwracanych wywołań (w dowolnej kolejności). Efekt ma zastosowanie tylko do bezpośredniego JoinableTask. Nie ma to wpływu na żadne ze swoich dzieci ani rodziców.

Wyłączenie przetwarzania nie ma wpływu na systemy operacyjne inne niż Windows.

Usuwanie wynikowej wartości spowoduje przywrócenie domyślnego zachowania. Osoby wywołujące nie muszą nigdy usuwać tej wartości, jeśli intencją jest wyłączenie przetwarzania dla pozostałej części JoinableTasktego wykonania.

Dotyczy