ExecutionContext Sınıf

Tanım

Geçerli iş parçacığı için yürütme bağlamını yönetir. Bu sınıf devralınamaz.

public ref class ExecutionContext sealed
public ref class ExecutionContext sealed : IDisposable, System::Runtime::Serialization::ISerializable
public ref class ExecutionContext sealed : System::Runtime::Serialization::ISerializable
public sealed class ExecutionContext
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class ExecutionContext : System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
type ExecutionContext = class
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
[<System.Serializable>]
type ExecutionContext = class
    interface ISerializable
[<System.Serializable>]
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
Public NotInheritable Class ExecutionContext
Public NotInheritable Class ExecutionContext
Implements IDisposable, ISerializable
Public NotInheritable Class ExecutionContext
Implements ISerializable
Devralma
ExecutionContext
Öznitelikler
Uygulamalar

Açıklamalar

sınıfı, ExecutionContext mantıksal bir yürütme iş parçacığıyla ilgili tüm bilgiler için tek bir kapsayıcı sağlar. .NET Framework güvenlik bağlamı, çağrı bağlamı ve eşitleme bağlamı buna dahildir. .NET Core'da güvenlik bağlamı ve çağrı bağlamı desteklenmez, ancak kimliğe bürünme bağlamı ve kültürü genellikle yürütme bağlamıyla birlikte akar. Ayrıca .NET Core'da eşitleme bağlamı yürütme bağlamı ile birlikte akmıyor, ancak .NET Framework bazı durumlarda akabilir. Daha fazla bilgi için bkz . ExecutionContext vs SynchronizationContext.

sınıfı, ExecutionContext kullanıcı kodunun bu bağlamı kullanıcı tanımlı zaman uyumsuz noktalar arasında yakalaması ve aktarması için işlevsellik sağlar. Ortak dil çalışma zamanı, yönetilen işlem içindeki çalışma zamanı tanımlı zaman uyumsuz noktalar arasında tutarlı bir şekilde aktarılmasını sağlar ExecutionContext .

  • Aşağıdakiler yalnızca .NET Framework için geçerlidir. -

Yürütme bağlamı, COM dairesinin yönetilen eşdeğeridir. Uygulama etki alanı içinde, bir iş parçacığı her aktarılışında yürütme bağlamı tamamının aktarılması gerekir. Bu durum yöntemi tarafından yapılan aktarımlar, iş parçacığı havuzu işlemlerinin Thread.Start çoğu ve Windows ileti pompası aracılığıyla iş parçacığı hazırlama Windows Forms sırasında oluşur. Sıkıştırılmış yığını aktarmayan güvenli olmayan iş parçacığı havuzu işlemlerinde (yöntemi gibi UnsafeQueueUserWorkItem ) oluşmaz. Sıkıştırılmış yığın nereye akarsa, yönetilen sorumlu, eşitleme, yerel ayar ve kullanıcı bağlamı da akar. sınıfı, ExecutionContext yürütme bağlamını Capture almak için ve CreateCopy yöntemlerini ve Run geçerli iş parçacığı için yürütme bağlamını ayarlama yöntemini sağlar.

bir ExecutionContext iş parçacığı ile ilişkili bir başka iş parçacığında ayarlanamaz. Bunu yapmaya çalışmak bir özel durum oluşturmasına neden olur. öğesini bir iş parçacığından diğerine yaymak ExecutionContext için öğesinin ExecutionContextbir kopyasını alın.

dahili olarak, ExecutionContext ile LogicalCallContextilişkili tüm verileri depolar. Bu, kopyalanıp aktarıldığında verilerin yayılmasına ExecutionContext olanak tanırLogicalCallContext.

Yöntemler

Capture()

Geçerli iş parçacığından yürütme bağlamını yakalar.

CreateCopy()

Geçerli yürütme bağlamının bir kopyasını oluşturur.

Dispose()

ExecutionContext sınıfının geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetObjectData(SerializationInfo, StreamingContext)

Belirtilen SerializationInfo nesneyi, geçerli yürütme bağlamının bir örneğini yeniden oluşturmak için gereken mantıksal bağlam bilgileriyle ayarlar.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsFlowSuppressed()

Yürütme bağlamının akışının şu anda gizlenip gizlenmediğini gösterir.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Restore(ExecutionContext)

Yakalanan yürütme bağlamını geçerli iş parçacığına geri yükler.

RestoreFlow()

Yürütme bağlamının akışını zaman uyumsuz iş parçacıkları arasında geri yükler.

Run(ExecutionContext, ContextCallback, Object)

Geçerli iş parçacığında belirtilen yürütme bağlamında bir yöntem çalıştırır.

SuppressFlow()

Zaman uyumsuz iş parçacıklarında yürütme bağlamının akışını bastırır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır