TaskContinuationOptions Énumération

Définition

Spécifie le comportement pour une tâche créée à l'aide de la méthode ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) ou ContinueWith(Action<Task<TResult>>, TaskContinuationOptions).Specifies the behavior for a task that is created by using the ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) or ContinueWith(Action<Task<TResult>>, TaskContinuationOptions) method.

Cette énumération a un attribut FlagsAttribute qui permet une combinaison au niveau du bit de ses valeurs membres.

public enum class TaskContinuationOptions
[System.Flags]
[System.Serializable]
public enum TaskContinuationOptions
type TaskContinuationOptions = 
Public Enum TaskContinuationOptions
Héritage
TaskContinuationOptions
Attributs

Champs

AttachedToParent 4

Spécifie que la continuation, s'il s'agit d'une tâche enfant, est jointe à un parent dans la hiérarchie des tâches.Specifies that the continuation, if it is a child task, is attached to a parent in the task hierarchy. La continuation peut être une tâche enfant uniquement si son antécédent est également une tâche enfant.The continuation can be a child task only if its antecedent is also a child task. Par défaut, une tâche enfant (autrement dit, une tâche interne créée par une tâche externe) est exécutée indépendamment de son parent.By default, a child task (that is, an inner task created by an outer task) executes independently of its parent. Vous pouvez utiliser l'option AttachedToParent pour que les tâches parente et enfant soient synchronisées.You can use the AttachedToParent option so that the parent and child tasks are synchronized.

Notez que si une tâche parente est configurée avec l'option DenyChildAttach, l'option AttachedToParent de la tâche enfant n'a aucun effet, et la tâche enfant s'exécute en tant que tâche enfant détachée.Note that if a parent task is configured with the DenyChildAttach option, the AttachedToParent option in the child task has no effect, and the child task will execute as a detached child task.

Pour plus d’informations, consultez Tâches enfants attachées et détachées.For more information, see Attached and Detached Child Tasks.

DenyChildAttach 8

Indique qu'une tâche enfant (c'est-à-dire toute tâche interne imbriquée créée par cette continuation) créée avec l'option AttachedToParent et qui tente de s'exécuter comme une tâche enfant détachée ne peut pas être attachée à la tâche parente et s'exécute à la place comme tâche enfant détachée.Specifies that any child task (that is, any nested inner task created by this continuation) that is created with the AttachedToParent option and attempts to execute as an attached child task will not be able to attach to the parent task and will execute instead as a detached child task. Pour plus d'informations, consultez Attached and Detached Child Tasks.For more information, see Attached and Detached Child Tasks.

ExecuteSynchronously 524288

Spécifie que la tâche de continuation doit être exécutée de façon synchrone.Specifies that the continuation task should be executed synchronously. Quand cette option est activée, la continuation est exécutée sur le thread qui provoque le passage de la tâche antérieure à son état final.With this option specified, the continuation runs on the same thread that causes the antecedent task to transition into its final state. Si l'antécédent est déjà terminé lors de la création de la continuation, celle-ci s'exécute sur le thread qui crée la continuation.If the antecedent is already complete when the continuation is created, the continuation will run on the thread that creates the continuation. Si le CancellationTokenSource de l'antécédent est supprimé dans un bloc finally (Finally en Visual Basic), une continuation avec cette option s'exécutera dans ce bloc finally.If the antecedent's CancellationTokenSource is disposed in a finally block (Finally in Visual Basic), a continuation with this option will run in that finally block. Seules les continuations très brèves doivent être exécutées de façon synchrone.Only very short-running continuations should be executed synchronously.

Étant donné que la tâche s'exécute de façon synchrone, il n'est pas nécessaire d'appeler une méthode telle que Wait() pour vous assurer que le thread appelant attend la fin de la tâche.Because the task executes synchronously, there is no need to call a method such as Wait() to ensure that the calling thread waits for the task to complete.

HideScheduler 16

Spécifie que les tâches créées par la continuation en appelant des méthodes comme Run(Action) ou ContinueWith(Action<Task>) voient le planificateur par défaut (Default) plutôt que le planificateur sur lequel cette continuation s’exécute comme planificateur actuel.Specifies that tasks created by the continuation by calling methods such as Run(Action) or ContinueWith(Action<Task>) see the default scheduler (Default) rather than the scheduler on which this continuation is running as the current scheduler.

LazyCancellation 32

Dans le cas d'une annulation de continuation, empêche l'achèvement de la continuation tant que l'antécédent n'est pas terminé.In the case of continuation cancellation, prevents completion of the continuation until the antecedent has completed.

LongRunning 2

Spécifie qu'une continuation sera une opération de longue durée et de granulosité grossière.Specifies that a continuation will be a long-running, course-grained operation. Conseille au TaskScheduler de garantir le surabonnement.It provides a hint to the TaskScheduler that oversubscription may be warranted.

None 0

Quand aucune option de continuation n'est spécifiée, indique que le comportement par défaut doit être utilisé lors de l'exécution d'une continuation.When no continuation options are specified, specifies that default behavior should be used when executing a continuation. La continuation s'exécute de façon asynchrone quand la tâche antécédente se termine, quelle que soit la valeur de propriété Status finale de l'antécédent.The continuation runs asynchronously when the antecedent task completes, regardless of the antecedent's final Status property value. Si la continuation est une tâche enfant, elle est créée en tant que tâche imbriquée détachée.It the continuation is a child task, it is created as a detached nested task.

NotOnCanceled 262144

Spécifie que la tâche de continuation ne doit pas être planifiée si son antécédent a été annulé.Specifies that the continuation task should not be scheduled if its antecedent was canceled. Un antécédent est annulé si sa propriété Status à l'achèvement est Canceled.An antecedent is canceled if its Status property upon completion is Canceled. Cette option n’est pas valide pour les continuations multitâches.This option is not valid for multi-task continuations.

NotOnFaulted 131072

Spécifie que la tâche de continuation ne doit pas être planifiée si son antécédent a levé une exception non gérée.Specifies that the continuation task should not be scheduled if its antecedent threw an unhandled exception. Un antécédent lève une exception non gérée si sa propriété Status à l‘achèvement est Faulted.An antecedent throws an unhandled exception if its Status property upon completion is Faulted. Cette option n’est pas valide pour les continuations multitâches.This option is not valid for multi-task continuations.

NotOnRanToCompletion 65536

Spécifie que la tâche de continuation ne doit pas être planifiée si son antécédent s'est terminé.Specifies that the continuation task should not be scheduled if its antecedent ran to completion. Un antécédent s'exécute jusqu'à son achèvement si sa propriété Status à l'achèvement est RanToCompletion.An antecedent runs to completion if its Status property upon completion is RanToCompletion. Cette option n’est pas valide pour les continuations multitâches.This option is not valid for multi-task continuations.

OnlyOnCanceled 196608

Spécifie que la continuation doit être planifiée uniquement si son antécédent a été annulé.Specifies that the continuation should be scheduled only if its antecedent was canceled. Un antécédent est annulé si sa propriété Status à l'achèvement est Canceled.An antecedent is canceled if its Status property upon completion is Canceled. Cette option n’est pas valide pour les continuations multitâches.This option is not valid for multi-task continuations.

OnlyOnFaulted 327680

Spécifie que la tâche de continuation doit être planifiée uniquement si son antécédent a levé une exception non gérée.Specifies that the continuation task should be scheduled only if its antecedent threw an unhandled exception. Un antécédent lève une exception non gérée si sa propriété Status à l'achèvement est Faulted.An antecedent throws an unhandled exception if its Status property upon completion is Faulted.

L’option OnlyOnFaulted garantit que la propriété Exception de l’antécédent n’est pas null.The OnlyOnFaulted option guarantees that the Exception property in the antecedent is not null. Vous pouvez utiliser cette propriété pour intercepter l’exception et voir quelle exception a provoqué l’erreur de la tâche.You can use that property to catch the exception and see which exception caused the task to fault. Si vous n'accédez pas à la propriété Exception, l'exception n'est pas gérée.If you do not access the Exception property, the exception is unhandled. De plus, si vous essayez d'accéder à la propriété Result d'une tâche qui été annulée ou a rencontré une erreur, une nouvelle exception est levée.Also, if you attempt to access the Result property of a task that has been canceled or has faulted, a new exception is thrown.

Cette option n’est pas valide pour les continuations multitâches.This option is not valid for multi-task continuations.

OnlyOnRanToCompletion 393216

Spécifie que la continuation doit être planifiée uniquement si son antécédent s'est terminé.Specifies that the continuation should be scheduled only if its antecedent ran to completion. Un antécédent s'exécute jusqu'à son achèvement si sa propriété Status à l'achèvement est RanToCompletion.An antecedent runs to completion if its Status property upon completion is RanToCompletion. Cette option n’est pas valide pour les continuations multitâches.This option is not valid for multi-task continuations.

PreferFairness 1

Conseil à un TaskScheduler pour planifier des tâches dans l'ordre dans lequel elles ont été planifiées. Les tâches planifiées plus tôt sont plus susceptibles de s'exécuter plus tôt et celles planifiées plus tard sont plus susceptibles de s'exécuter ultérieurement.A hint to a TaskScheduler to schedule task in the order in which they were scheduled, so that tasks scheduled sooner are more likely to run sooner, and tasks scheduled later are more likely to run later.

RunContinuationsAsynchronously 64

Indique que la tâche de continuation doit être exécutée de façon asynchrone.Specifies that the continuation task should be run asynchronously. Cette option est prioritaire sur ExecuteSynchronously.This option has precedence over ExecuteSynchronously.

S’applique à