Sprache

JoinableTaskFactory.DisableProcessing Methode

Definition

Verhindert, dass gefilterte Nachrichtenpumpen während synchroner Wartezeiten auf die Umgebung JoinableTaskausgeführt werden.

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

Gibt zurück

Ein Wert, der verworfen werden kann, wenn synchrone Wartenachrichtenpumpen beendet werden müssen. Alternativ kann sie verworfen werden, wenn der Rest der JoinableTask Verarbeitung deaktiviert werden soll.

Ausnahmen

Wird ausgelöst, wenn er außerhalb des Kontexts einer .JoinableTask

Beispiele

Hier ist eine einfache, häufige Verwendung dieser Methode:

Im Folgenden finden Sie weitere Beispiele für die Verwendung:

Hinweise

Während einer Ausbeute await innerhalb einer JoinableTaskPumpe läuft keine Nachrichtenpumpe, unabhängig davon, ob diese Methode aufgerufen wird, mit Ausnahme der internen, die nur relevante Arbeit zulässt. Wenn Der Benutzercode innerhalb der JoinableTask Stellvertretung oder seiner Angerufenen ausgeführt wird, die einen synchronen Block des Hauptthreads erfordern (z. B. synchrone E/A- oder Sperrverknügung), wird diese Wartezeit in der Regel durch Aufrufen Wait(IntPtr[], Boolean, Int32)Currentimplementiert. Die Standardimplementierung dieser Methode ermöglicht bestimmte Unterbrechungen (e.g. COM RPC-Aufrufe), die in bestimmten Situationen Deadlocks vermeiden können .

Durch das Aufrufen dieser Methode wird die Standardimplementierung von Wait(IntPtr[], Boolean, Int32) durch eine ersetzt, die solche Unterbrechungen nicht zulässt, während dies JoinableTask aktiv und in der Kontrolle ist Current. Da diese Methode mehrmals aufgerufen werden kann, bleibt dieser Effekt auf dem Ziel JoinableTask , bis alle DisableProcessing() Rückgabewerte der Aufrufe (in beliebiger Reihenfolge) verworfen werden. Der Effekt gilt nur für das direkte JoinableTask. Sie hat keinen Einfluss auf ihre Kinder oder Eltern.

Das Deaktivieren der Verarbeitung hat keine Auswirkungen auf nicht Windows Betriebssysteme.

Durch das Entfernen des resultierenden Werts wird das Standardverhalten wiederhergestellt. Aufrufer müssen diesen Wert nicht jemals löschen, wenn die Verarbeitung für den Rest der JoinableTaskAusführung deaktiviert werden soll.

Gilt für: