TaskContinuationOptions Sabit listesi

Tanım

ContinueWith(Action<Task>, CancellationToken, TaskContinuationOptions, TaskScheduler) veya ContinueWith(Action<Task<TResult>>, TaskContinuationOptions) yöntemi kullanılarak 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

Name Değer Description
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ğeri ne olursa olsun, ö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.

PreferFairness 1

Daha önce zamanlanan görevlerin daha erken çalıştırılabilmesi ve daha sonra zamanlanan görevlerin daha sonra çalıştırılabilmesi için görevin zamanlandığı sırayla zamanlanması için bir TaskScheduler ipucu.

LongRunning 2

Devam etme işleminin uzun süre çalışan, kursa dayalı bir işlem olacağını belirtir. Bu, fazla aboneliğin TaskScheduler garanti edilebileceğine dair bir ipucu sağlar.

AttachedToParent 4

Alt görevse, devamlılık öğesinin görev hiyerarşisindeki bir üst öğeye eklendiğini belirtir. Devamlılık, yalnızca öncül de bir alt görevse bir alt görev olabilir. 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ış bir 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.

HideScheduler 16

Devamlılık tarafından oluşturulan görevlerin geçerli zamanlayıcı olarak çalışmakta olduğu zamanlayıcı yerine veya gibi Run(Action) yöntemleri çağırarak veya ContinueWith(Action<Task>) varsayılan zamanlayıcıyı (Default) gördüğünü belirtir.

LazyCancellation 32

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

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.

NotOnRanToCompletion 65536

Süreklilik görevinin, öncül tamamlamaya çalıştırıldıysa zamanlanmaması gerektiğini belirtir. Bir öncül, tamamlandıktan sonra özelliği ise StatusRanToCompletiontamamlanmaya çalışır. 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 Statussonra özelliği ise Faulted işlenmeyen bir özel durum oluşturur. Bu seçenek çok görevli devamlılıklar için geçerli değildir.

OnlyOnCanceled 196608

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

NotOnCanceled 262144

Öncül iptal edildiyse devamlılık görevinin zamanlanmaması gerektiğini belirtir. Tamamlandıktan sonra özelliği olduğunda Status bir öncül 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 Statussonra özelliği ise Faulted işlenmeyen bir özel durum oluşturur.

seçeneği, OnlyOnFaulted öncüldeki özelliğin Exception olmamasını nullgaranti eder. Özel durumu yakalamak ve görevin hangi özel durumun hataya neden olduğunu 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

Devamlılık işleminin yalnızca öncül tamamlamaya çalıştıysa zamanlanması gerektiğini belirtir. Bir öncül, tamamlandıktan sonra özelliği ise StatusRanToCompletiontamamlanmaya çalışır. Bu seçenek çok görevli devamlılıklar için geçerli değildir.

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ışır. Antecedent'in CancellationTokenSource bir finally bloğunda (Visual Basic Finally) atılırsa, bu seçenekle devam etmek bu finally bloğunda çalıştırılır. Yalnızca çok kısa süre çalışan devamlılıklar zaman uyumlu bir şekilde 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.

Şunlara uygulanır