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

Açıklamalar

sınıfı, ExecutionContext yürütme mantıksal iş parçacığıyla ilgili tüm bilgiler için tek bir kapsayıcı sağlar. .NET Framework'te bu güvenlik bağlamı, çağrı bağlamı ve eşitleme bağlamı içerir. .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 akıp giderdi. Ayrıca .NET Core'da eşitleme bağlamı yürütme bağlamı ile birlikte akmasa da .NET Framework'te bazı durumlarda olabilir. 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ında, bir iş parçacığı aktarıldığı her durumda yürütme bağlamlarının tamamı aktarılmalıdır. Bu durum, Thread.Start yöntemi, çoğu iş parçacığı havuzu işlemi ve Windows ileti pompası aracılığıyla iş parçacığı hazırlama Windows Forms aktarımları 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ın aktığı her yerde 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.

İş ExecutionContext parçacığıyla ilişkili bir iş parçacığı başka bir iş parçacığında ayarlanamaz. Bunu yapmaya çalışmak bir özel durumun ortaya olması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

Name Description
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()

Sınıfın geçerli örneği ExecutionContext 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()

Geçerli örneğin Type 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 Objectbasit bir kopyasını oluşturur.

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

Zaman uyumsuz iş parçacıkları arasında yürütme bağlamının akışını 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ı arasında yürütme bağlamının akışını bastırır.

ToString()

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

(Devralındığı yer: Object)

Şunlara uygulanır