TaskContinuationOptions Sabit listesi

Tanım

veya ContinueWith(Action<Task<TResult>>, TaskContinuationOptions) yöntemi kullanılarak ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) oluşturulan görevin davranışını belirtir.

Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.

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
Devralma
TaskContinuationOptions
Öznitelikler

Alanlar

AttachedToParent 4

Bir alt görevse, devamlılık öğesinin görev hiyerarşisindeki bir üst öğeye eklendiğini belirtir. Devamlılık bir alt görev olabilir, ancak öncül de bir alt görevdir. Varsayılan olarak, bir alt görev (dış görev tarafından oluşturulan bir iç görev) üst görevden bağımsız olarak yürütülür. Üst ve alt görevlerin eşitlenmesi için seçeneğini kullanabilirsiniz AttachedToParent .

Üst görev seçeneğiyle DenyChildAttach yapılandırılırsa, AttachedToParent alt görevdeki seçeneğin hiçbir etkisi olmadığını ve alt görevin ayrılmış alt görev olarak yürütüleceğini unutmayın.

Daha fazla bilgi için bkz. Ekli ve Ayrılmış Alt Görevler.

DenyChildAttach 8

seçeneğiyle AttachedToParent oluşturulan ve ekli alt görev olarak yürütmeye çalışan alt görevlerin (yani, bu devamlılık tarafından oluşturulan iç içe yerleştirilmiş herhangi bir görevin) üst göreve eklenemeyeceğini ve bunun yerine ayrılmış alt görev olarak yürütüleceğini belirtir. Daha fazla bilgi için bkz. Ekli ve Ayrılmış Alt Görevler.

ExecuteSynchronously 524288

Devamlılık görevinin zaman uyumlu olarak yürütülmesi gerektiğini belirtir. Bu seçenek belirtildiğinde, devamlılık, öncül görevin son durumuna geçmesine neden olan aynı iş parçacığı üzerinde çalışır. Devamlılık oluşturulduğunda öncül zaten tamamlanmışsa, devamlılık, devamlılığı oluşturan iş parçacığında çalıştırılır. Öncül CancellationTokenSource bir blokta (Finally Visual Basic'tefinally) atılırsa, bu seçenekle bir devam o finally blokta çalıştırılır. Yalnızca çok kısa süre çalışan devamlılıklar zaman uyumlu olarak yürütülmelidir.

Görev zaman uyumlu olarak yürütür çünkü çağıran iş parçacığının görevin tamamlanmasını beklediğinden emin olmak için gibi Wait() bir yöntemi çağırmaya gerek yoktur.

HideScheduler 16

Gibi yöntemleri Run(Action) çağırarak devamlılık tarafından oluşturulan görevleri belirtir veya ContinueWith(Action<Task>) bu devamlılık geçerli zamanlayıcı olarak çalışmakta olan zamanlayıcı yerine varsayılan zamanlayıcıyı (Default) görür.

LazyCancellation 32

Devam iptali durumunda, öncül tamamlanana kadar devamın tamamlanmasını engeller.

LongRunning 2

Devamlılık işleminin uzun süre çalışan, kurs ayrıntılı bir işlem olacağını belirtir. Bu, fazla aboneliğin TaskScheduler garanti edilebileceğine dair bir ipucu sağlar.

None 0

Hiçbir devamlılık seçeneği belirtilmediğinde, bir devamlılık yürütülürken varsayılan davranışın kullanılması gerektiğini belirtir. Öncül görevin son Status özellik değerinden bağımsız olarak, öncül görev tamamlandığında devamlılık zaman uyumsuz olarak çalışır. Devamlılık bir alt görevse, ayrılmış bir iç içe görev olarak oluşturulur.

NotOnCanceled 262144

Öncül iptal edildiyse devamlılık görevinin zamanlanmaması gerektiğini belirtir. Bir öncül, tamamlandıktan sonra özelliği ise Status iptal edilir Canceled. Bu seçenek çok görevli devamlılıklar için geçerli değildir.

NotOnFaulted 131072

Öncül işlenmeyen bir özel durum oluşturduysa devamlılık görevinin zamanlanmaması gerektiğini belirtir. Bir öncül, tamamlandıktan Faultedsonra özelliği ise Status işlenmeyen bir özel durum oluşturur. Bu seçenek çok görevli devamlılıklar için geçerli değildir.

NotOnRanToCompletion 65536

Öncül tamamlanmaya çalıştırıldıysa devamlılık görevinin zamanlanmaması gerektiğini belirtir. Bir öncül, tamamlandıktan sonra özelliği ise Status RanToCompletiontamamlanmak üzere çalışır. Bu seçenek çok görevli devamlılıklar için geçerli değildir.

OnlyOnCanceled 196608

Devamlılık yalnızca öncül iptal edildiyse zamanlanması gerektiğini belirtir. Bir öncül, tamamlandıktan sonra özelliği ise Status iptal edilir Canceled. Bu seçenek çok görevli devamlılıklar için geçerli değildir.

OnlyOnFaulted 327680

Devamlılık görevinin yalnızca öncül tarafından işlenmeyen bir özel durum oluşturması durumunda zamanlanması gerektiğini belirtir. Bir öncül, tamamlandıktan Faultedsonra özelliği ise Status işlenmeyen bir özel durum oluşturur.

seçeneği, OnlyOnFaulted öncüldeki özelliğinin olmamasını nullgaranti ederException. Özel durumu yakalamak ve görevin hataya neden olduğu özel durumu görmek için bu özelliği kullanabilirsiniz. Özelliğine Exception erişmezseniz, özel durum işlenmez. Ayrıca, iptal edilmiş veya hatalı bir görevin özelliğine erişmeye Result çalışırsanız, yeni bir özel durum oluşturulur.

Bu seçenek çok görevli devamlılıklar için geçerli değildir.

OnlyOnRanToCompletion 393216

Devamın yalnızca öncül tamamlanmaya çalıştırıldığında zamanlanması gerektiğini belirtir. Bir öncül, tamamlandıktan sonra özelliği ise Status RanToCompletiontamamlanmak üzere çalışır. Bu seçenek çok görevli devamlılıklar için geçerli değildir.

PreferFairness 1

Daha önce zamanlanan görevlerin daha erken ve daha sonra zamanlanan görevlerin daha sonra çalışma olasılığı daha yüksek olacak şekilde, görevin zamanlandığı sırayla zamanlanması için bir TaskScheduler ipucu.

RunContinuationsAsynchronously 64

Devamlılık görevinin zaman uyumsuz olarak çalıştırılması gerektiğini belirtir. Bu seçeneğin üzerinde ExecuteSynchronouslyönceliği vardır.

Şunlara uygulanır