TaskContinuationOptions Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt das Verhalten für eine Aufgabe an, die mit der ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler)-Methode oder ContinueWith(Action<Task<TResult>>, TaskContinuationOptions)-Methode erstellt wird.
Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.
public enum class TaskContinuationOptions
[System.Flags]
public enum TaskContinuationOptions
[System.Flags]
[System.Serializable]
public enum TaskContinuationOptions
[<System.Flags>]
type TaskContinuationOptions =
[<System.Flags>]
[<System.Serializable>]
type TaskContinuationOptions =
Public Enum TaskContinuationOptions
- Vererbung
- Attribute
Felder
AttachedToParent | 4 | Gibt an, dass die Fortsetzung, sofern es sich um eine untergeordnete Aufgabe handelt, in der Aufgabenhierarchie mit einem übergeordneten Element verknüpft wird. Die Fortsetzung kann nur dann eine untergeordnete Aufgabe handeln, wenn das vorangehende Element ebenfalls eine untergeordnete Aufgabe ist. Eine untergeordnete Aufgabe (d. h. eine von einer äußeren Aufgabe erstellte innere Aufgabe) wird standardmäßig unabhängig von der übergeordneten Aufgabe ausgeführt. Sie können die AttachedToParent-Option verwenden, damit die übergeordneten und untergeordneten Aufgaben synchronisiert werden. Beachten Sie: Wenn eine übergeordnete Aufgabe mit der DenyChildAttach-Option konfiguriert ist, hat die AttachedToParent-Option in der untergeordneten Aufgabe keine Auswirkungen, und die untergeordnete Aufgabe wird als eine getrennte untergeordnete Aufgabe ausgeführt. Weitere Informationen finden Sie unter Angefügte und getrennte untergeordnete Aufgaben. |
DenyChildAttach | 8 | Gibt an, dass jede untergeordnete Aufgabe (d.h. jede geschachtelte innere Aufgabe, die von dieser Fortsetzung erstellt wurde), die mit der AttachedToParent-Option erstellt wurde und deren Ausführung als angefügte untergeordnete Aufgabe versucht wird, nicht an die übergeordnete Aufgabe angefügt werden kann und stattdessen als eine getrennte untergeordnete Aufgabe ausgeführt wird. Weitere Informationen finden Sie unter Angefügte und getrennte untergeordnete Aufgaben. |
ExecuteSynchronously | 524288 | Gibt an, dass die Fortsetzungsaufgabe synchron ausgeführt werden soll. Wenn diese Option angegeben wird, wird die Fortsetzung in dem Thread ausgeführt, der den Übergang der vorangehenden Aufgabe in ihren Endzustand verursacht hat. Falls die vorangehende Aufgabe bereits abgeschlossen wurde, wird die Fortsetzung in dem Thread ausgeführt, der die Fortsetzung erstellt. Wird die CancellationTokenSource des Vorgängers in einem Da der Vorgang synchron ausgeführt wird, ist das Aufrufen einer Methode wie Wait() nicht erforderlich, um sicherzustellen, dass der aufrufende Thread wartet, bis die Aufgabe abgeschlossen ist. |
HideScheduler | 16 | Gibt an, dass Aufgaben, die von der Fortsetzung durch den Aufruf von Methoden wie Run(Action) oder ContinueWith(Action<Task>) erstellt wurden, sich auf den Standardplaner (Default) als aktuellen Planer beziehen, statt auf den Planer, auf dem diese Fortsetzung ausgeführt wird. |
LazyCancellation | 32 | Im Fall des Fortsetzungsabbruchs wird die Beendigung der Fortsetzung verhindert, bis der Vorgänger abgeschlossen wurde. |
LongRunning | 2 | Gibt an, dass die Fortsetzung ein undifferenzierter Vorgang mit langer Laufzeit ist. Enthält einen Hinweis für den TaskScheduler, dass möglicherweise zu viele Abonnements gewährt werden. |
None | 0 | Gibt, wenn keine Fortsetzungsoptionen angegeben sind, an, dass beim Ausführen einer Fortsetzen das Standardverhalten verwendet werden soll. Die Fortsetzung wird beim Abschluss der vorhergehenden Aufgabe asynchron ausgeführt, unabhängig vom endgültigen Wert der Eigenschaft Status. Wenn die Fortsetzung eine untergeordnete Aufgabe ist, wird sie als getrennt geschachtelte Aufgabe erstellt. |
NotOnCanceled | 262144 | Gibt an, dass die Fortsetzungsaufgabe nicht geplant werden soll, wenn die vorangehende Aufgabe abgebrochen wurde. Ein vorhergehende Aufgabe wird abgebrochen, wenn ihre Eigenschaft "Status" beim Abschluss den Wert "Canceled" aufweist. Diese Option ist nicht gültig für die Fortsetzung mehrerer Aufgaben. |
NotOnFaulted | 131072 | Gibt an, dass die Fortsetzungsaufgabe nicht geplant werden soll, wenn der Vorgänger einen Ausnahmefehler ausgelöst hat. Eine vorhergehende Aufgabe löst einen Ausnahmefehler aus, wenn ihre Eigenschaft "Status" beim Abschluss den Wert "Faulted" aufweist. Diese Option ist nicht gültig für die Fortsetzung mehrerer Aufgaben. |
NotOnRanToCompletion | 65536 | Gibt an, dass die Fortsetzungsaufgabe nicht geplant werden soll, wenn der Vorgänger bis zum Abschluss ausgeführt wurde. Eine vorhergehende Aufgabe wird bis zum Abschluss ausgeführt, wenn ihre Eigenschaft „Status“ beim Abschluss den Wert „RanToCompletion“ aufweist. Diese Option ist nicht gültig für die Fortsetzung mehrerer Aufgaben. |
OnlyOnCanceled | 196608 | Gibt an, dass die Fortsetzung nur geplant werden soll, wenn die vorangehende Aufgabe abgebrochen wurde. Ein vorhergehende Aufgabe wird abgebrochen, wenn ihre Eigenschaft "Status" beim Abschluss den Wert "Canceled" aufweist. Diese Option ist nicht gültig für die Fortsetzung mehrerer Aufgaben. |
OnlyOnFaulted | 327680 | Gibt an, dass die Fortsetzungsaufgabe nur geplant werden soll, wenn der Vorgänger einen Ausnahmefehler ausgelöst hat. Eine vorhergehende Aufgabe löst einen Ausnahmefehler aus, wenn ihre Eigenschaft "Status" beim Abschluss den Wert "Faulted" aufweist. Die Option „OnlyOnFaulted“ stellt sicher, dass die Exception-Eigenschaft im Vorgänger nicht Diese Option ist nicht gültig für die Fortsetzung mehrerer Aufgaben. |
OnlyOnRanToCompletion | 393216 | Gibt an, dass die Fortsetzung nur geplant werden soll, wenn die vorangehende Aufgabe bis zum Abschluss ausgeführt wurde. Eine vorhergehende Aufgabe wird bis zum Abschluss ausgeführt, wenn ihre Eigenschaft „Status“ beim Abschluss den Wert „RanToCompletion“ aufweist. Diese Option ist nicht gültig für die Fortsetzung mehrerer Aufgaben. |
PreferFairness | 1 | Ein Hinweis für ein TaskScheduler, Aufgaben in der Reihenfolge ihrer ursprünglichen Planung zu planen, sodass zu einem früheren Zeitpunkt geplante Aufgaben tendenziell früher, zu einem späteren Zeitpunkt geplante Aufgaben tendenziell später ausgeführt werden. |
RunContinuationsAsynchronously | 64 | Gibt an, dass die Fortsetzungsaufgabe asynchron ausgeführt werden soll. Diese Option hat Vorrang vor ExecuteSynchronously. |