TaskContinuationOptions Enum

Definition

Anger beteendet för en uppgift som skapas med hjälp ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) av metoden eller ContinueWith(Action<Task<TResult>>, TaskContinuationOptions) .

Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.

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
Arv
TaskContinuationOptions
Attribut

Fält

Name Värde Description
None 0

När inga fortsättningsalternativ har angetts anger att standardbeteendet ska användas vid körning av en fortsättning. Fortsättningen körs asynkront när den antecedent uppgiften slutförs, oavsett den föregående egenskapens slutliga Status egenskapsvärde. Om fortsättningen är en underordnad uppgift skapas den som en frånkopplad kapslad uppgift.

PreferFairness 1

Ett tips till en TaskScheduler för att schemalägga aktiviteten i den ordning de schemalagts, så att aktiviteter som schemalagts tidigare är mer benägna att köras tidigare, och aktiviteter som schemaläggs senare är mer benägna att köras senare.

LongRunning 2

Anger att en fortsättning ska vara en tidskrävande, kursspecifik åtgärd. Det ger en ledtråd till TaskScheduler att överprenumerering kan vara berättigad.

AttachedToParent 4

Anger att fortsättningen, om det är en underordnad uppgift, är kopplad till en överordnad i aktivitetshierarkin. Fortsättningen kan endast vara en underordnad uppgift om dess föregångare också är en underordnad uppgift. Som standard körs en underordnad aktivitet (dvs. en inre uppgift som skapats av en yttre uppgift) oberoende av dess överordnade uppgift. Du kan använda alternativet AttachedToParent så att de överordnade och underordnade uppgifterna synkroniseras.

Observera att om en överordnad aktivitet har konfigurerats med alternativet har DenyChildAttach alternativet i den underordnade aktiviteten ingen effekt och den underordnade aktiviteten körs som en frånkopplad underordnad AttachedToParent aktivitet.

För mer information, se Anslutna och separerade barnuppgifter.

DenyChildAttach 8

Anger att alla underordnade aktiviteter (d.v.s. alla kapslade inre aktiviteter som skapas av den här fortsättningen AttachedToParent ) som skapas med alternativet och som försöker köras som en bifogad underordnad uppgift inte kommer att kunna kopplas till den överordnade aktiviteten och i stället köras som en frånkopplad underordnad aktivitet. För mer information, se Anslutna och separerade barnuppgifter.

HideScheduler 16

Anger att uppgifter som skapats av fortsättningen genom att anropa metoder som Run(Action) eller ContinueWith(Action<Task>) se standardschemaläggaren (Default) i stället för den schemaläggare där fortsättningen körs som aktuell schemaläggare.

LazyCancellation 32

Om fortsättningen avbryts förhindrar det att fortsättningen slutförs förrän den föregående har slutförts.

RunContinuationsAsynchronously 64

Anger att fortsättningsaktiviteten ska köras asynkront. Det här alternativet har företräde framför ExecuteSynchronously.

NotOnRanToCompletion 65536

Anger att fortsättningsaktiviteten inte ska schemaläggas om dess tidigare kördes till slutförande. En antecedent körs till slutförande om dess Status egenskap när den är klar är RanToCompletion. Det här alternativet är inte giltigt för fortsättningar med flera aktiviteter.

NotOnFaulted 131072

Anger att fortsättningsaktiviteten inte ska schemaläggas om dess föregående undantag utlöste ett ohanterat undantag. En tidigare instans utlöser ett ohanterat undantag om dess Status egenskap när den är klar är Faulted. Det här alternativet är inte giltigt för fortsättningar med flera aktiviteter.

OnlyOnCanceled 196608

Anger att fortsättningen endast ska schemaläggas om dess antecedent avbröts. En tidigare instans avbryts om dess Status egenskap när den är klar är Canceled. Det här alternativet är inte giltigt för fortsättningar med flera aktiviteter.

NotOnCanceled 262144

Anger att fortsättningsaktiviteten inte ska schemaläggas om den tidigare avbröts. En tidigare instans avbryts om dess Status egenskap när den är klar är Canceled. Det här alternativet är inte giltigt för fortsättningar med flera aktiviteter.

OnlyOnFaulted 327680

Anger att fortsättningsaktiviteten endast ska schemaläggas om dess föregående undantag utlöste ett ohanterat undantag. En tidigare instans utlöser ett ohanterat undantag om dess Status egenskap när den är klar är Faulted.

Alternativet OnlyOnFaulted garanterar att Exception egenskapen i antecedent inte nullär . Du kan använda den egenskapen för att fånga undantaget och se vilket undantag som orsakade felet. Om du inte kommer åt egenskapen Exception är undantaget ohanterat. Om du försöker komma åt Result egenskapen för en aktivitet som har avbrutits eller har fel, utlöses ett nytt undantag.

Det här alternativet är inte giltigt för fortsättningar med flera aktiviteter.

OnlyOnRanToCompletion 393216

Anger att fortsättningen endast ska schemaläggas om dess tidigare kördes till slutförande. En antecedent körs till slutförande om dess Status egenskap när den är klar är RanToCompletion. Det här alternativet är inte giltigt för fortsättningar med flera aktiviteter.

ExecuteSynchronously 524288

Anger att fortsättningsaktiviteten ska köras synkront. Med det här alternativet angivet körs fortsättningen på samma tråd som gör att den tidigare uppgiften övergår till sitt slutliga tillstånd. Om antecedent redan är klar när fortsättningen skapas körs fortsättningen på den tråd som skapar fortsättningen. Om antecedents CancellationTokenSource tas bort i ett finally block (Finally i Visual Basic), körs en fortsättning med det här alternativet i det finally blocket. Endast mycket korta fortsättningar ska köras synkront.

Eftersom aktiviteten körs synkront behöver du inte anropa en metod, till exempel Wait() för att säkerställa att den anropande tråden väntar på att aktiviteten ska slutföras.

Gäller för