JoinableTaskFactory.DisableProcessing Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.