Jazyk

JoinableTaskFactory.DisableProcessing Metoda

Definice

Zabraňuje spuštění filtrovaných zpráv čerpadel během synchronních čekání na okolí JoinableTask.

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

Návraty

Hodnota, která může být uvolněna, když je potřeba potlačit synchronní čekací čerpadla je ukončena. Případně může být zahozen, pokud má zbytek JoinableTask zpracování zakázat.

Výjimky

Vyvolá se při zavolání mimo kontext objektu JoinableTask.

Příklady

Tady je jednoduché běžné použití této metody:

Tady jsou další příklady toho, jak se dá použít:

Poznámky

Během výnosu await uvnitř JoinableTask, žádná zpráva pumpa nikdy neběží bez ohledu na to, zda je tato metoda volána, s výjimkou interní, který umožňuje pouze relevantní práci. Když se uživatelský kód spustí v rámci delegáta JoinableTask nebo jeho volaných, které nakonec vyžadují synchronní blok hlavního vlákna (např. synchronní vstupně-výstupní operace nebo kolize zámků), obvykle se toto čekání implementuje voláním Wait(IntPtr[], Boolean, Int32)Current. Výchozí implementace této metody umožňuje určité přerušení (e.g. COM volání RPC), které se mohou v určitých situacích vyhnout zablokování.

Volání této metody nahradí výchozí implementaci Wait(IntPtr[], Boolean, Int32) jedné, která nepovolí takové přerušení, zatímco je JoinableTask aktivní a řídí Current. Vzhledem k tomu, že tato metoda může být volána vícekrát, tento účinek zůstává na cíli JoinableTask , dokud DisableProcessing() nebudou všechny návratové hodnoty vyvolány (v libovolném pořadí). Účinek se vztahuje pouze na přímé JoinableTask. Nemá vliv na žádné z jeho dětí nebo rodičů.

Zakázání zpracování nemá žádný vliv na operační systémy, které nejsou Windows.

Zrušení výsledné hodnoty se vrátí k výchozímu chování. Volající nemusí tuto hodnotu nikdy likvidovat, pokud záměrem je zakázat zpracování po zbytek JoinableTasktohoto spuštění.

Platí pro