TaskContinuationOptions Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica il comportamento di un'attività creata tramite il metodo ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) o ContinueWith(Action<Task<TResult>>, TaskContinuationOptions).
Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.
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
- Ereditarietà
- Attributi
Campi
AttachedToParent | 4 | Specifica che la continuazione, se è un'attività figlio, è connessa a un elemento padre della gerarchia delle attività. La continuazione può essere un'attività figlio solo se anche la relativa attività precedente è un'attività figlio. Per impostazione predefinita, un'attività figlio, ovvero un'attività interna creata da un'attività esterna, viene eseguita indipendentemente dalla relativa attività padre. È possibile usare l'opzione AttachedToParent per mantenere sincronizzate le attività padre e figlio. Si noti che se un'attività padre viene configurata con l'opzione DenyChildAttach, l'opzione AttachedToParent nell'attività figlio non avrà effetto e quest'ultima verrà eseguita come attività figlio disconnessa. Per altre informazioni, vedere Attività figlio connesse e disconnesse. |
DenyChildAttach | 8 | Specifica che qualsiasi attività figlio (ovvero qualsiasi attività interna annidata creata da questa continuazione) che venga creata con l'opzione AttachedToParent e tenti l'esecuzione come attività figlio connessa non potrà collegarsi all'attività padre e verrà invece eseguita come attività figlio disconnessa. Per altre informazioni, vedere Attività figlio connesse e disconnesse. |
ExecuteSynchronously | 524288 | Specifica che l'attività di continuazione deve essere eseguita in modo sincrono. Se si specifica questa opzione, la continuazione viene eseguita nello stesso thread che comporta la transizione dell'attività precedente allo stato finale. Se quando la continuazione viene creata l'attività precedente è già completa, la continuazione verrà eseguita nel thread che crea la continuazione. Se CancellationTokenSource dell'attività precedente viene collocato in un blocco Dal momento che l'attività viene eseguita in modo asincrono, non è necessario chiamare un metodo come Wait() per garantire che il thread chiamante attenda il completamento dell'attività. |
HideScheduler | 16 | Specifica le attività create dalla continuazione chiamando i metodi come Run(Action) o ContinueWith(Action<Task>). Vedere l'utilità di pianificazione predefinita (Default) anziché l'utilità di pianificazione in cui è in esecuzione la continuazione come utilità di pianificazione corrente. |
LazyCancellation | 32 | In caso di annullamento della continuazione, impedisce il completamento della continuazione finché l'attività precedente non è stata completata. |
LongRunning | 2 | Specifica che la continuazione sarà un'operazione a bassa precisione di lunga durata. Fornisce a TaskScheduler un'indicazione in merito alla possibilità di dover ricorrere all'oversubscription. |
None | 0 | Quando non viene specificata alcuna opzione di continuazione, specifica che deve essere usato un comportamento predefinito quando si esegue una continuazione. La continuazione viene eseguita in modo asincrono al completamento dell'attività precedente, indipendentemente dal valore della proprietà Status finale dell'attività precedente. Se la continuazione è un'attività figlio, viene creata come attività annidata scollegata. |
NotOnCanceled | 262144 | Specifica che l'attività di continuazione non deve essere pianificata se l'attività precedente è stata annullata. Un'attività precedente viene annullata se la relativa proprietà Status al completamento è Canceled. Questa opzione non è valida per le continuazioni multiattività. |
NotOnFaulted | 131072 | Specifica che l'attività di continuazione non deve essere pianificata se la relativa attività precedente ha generato un'eccezione non gestita. Un'attività precedente genera un'eccezione non gestita se la relativa proprietà Status al completamento è Faulted. Questa opzione non è valida per le continuazioni multiattività. |
NotOnRanToCompletion | 65536 | Specifica che l'attività di continuazione non deve essere pianificata se l'esecuzione della relativa attività precedente è stata completata. Un'attività precedente viene eseguita fino al completamento se la relativa proprietà Status al completamento è RanToCompletion. Questa opzione non è valida per le continuazioni multiattività. |
OnlyOnCanceled | 196608 | Specifica che la continuazione deve essere pianificata solo se l'attività precedente è stata annullata. Un'attività precedente viene annullata se la relativa proprietà Status al completamento è Canceled. Questa opzione non è valida per le continuazioni multiattività. |
OnlyOnFaulted | 327680 | Specifica che l'attività di continuazione deve essere pianificata solo se la relativa attività precedente ha generato un'eccezione non gestita. Un'attività precedente genera un'eccezione non gestita se la relativa proprietà Status al completamento è Faulted. L'opzione OnlyOnFaulted garantisce che la proprietà Exception dell'attività precedente non sia Questa opzione non è valida per le continuazioni multiattività. |
OnlyOnRanToCompletion | 393216 | Specifica che la continuazione deve essere pianificata solo se l'esecuzione della relativa attività precedente è stata completata. Un'attività precedente viene eseguita fino al completamento se la relativa proprietà Status al completamento è RanToCompletion. Questa opzione non è valida per le continuazioni multiattività. |
PreferFairness | 1 | Indicazione fornita a un oggetto TaskScheduler affinché pianifichi un'attività nell'ordine in cui sono state pianificate, in modo che le attività pianificate prima abbiano più possibilità di essere eseguite prima delle attività pianificate in un secondo momento. |
RunContinuationsAsynchronously | 64 | Specifica che l'attività di continuazione deve essere eseguita in modo asincrono. Questa opzione ha la precedenza rispetto a ExecuteSynchronously. |