ExecutionContext Třída

Definice

Spravuje kontext spuštění pro aktuální vlákno. Tato třída se nemůže dědit.

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
Dědičnost
ExecutionContext
Atributy
Implementuje

Poznámky

Třída ExecutionContext poskytuje jeden kontejner pro všechny informace relevantní pro logické vlákno provádění. V .NET Frameworku to zahrnuje kontext zabezpečení, kontext volání a kontext synchronizace. V .NET Core se kontext zabezpečení a kontext volání nepodporují, ale kontext zosobnění a jazyková verze obvykle proudí s kontextem spuštění. V .NET Core také kontext synchronizace neprotéká s kontextem spuštění, zatímco v .NET Framework může v některých případech. Další informace naleznete v tématu ExecutionContext vs SynchronizationContext.

Třída ExecutionContext poskytuje funkce pro uživatelský kód pro zachycení a přenos tohoto kontextu napříč uživatelem definovanými asynchronními body. Modul CLR (Common Language Runtime) zajišťuje konzistentní ExecutionContext přenos mezi asynchronními body definovanými modulem runtime v rámci spravovaného procesu.

  • Následující informace platí pouze pro .NET Framework. -

Kontext spuštění je spravovaný ekvivalent apartmánu COM. V rámci domény aplikace musí být při přenosu vlákna přenesen celý kontext spuštění. K této situaci dochází při přenosech provedených metodou Thread.Start, většina operací fondu vláken a model Windows Forms zařazování vláken přes čerpadlo zpráv Windows. Neprovádí se v nebezpečných operacích fondu vláken (například UnsafeQueueUserWorkItem v metodě), které nepřenesou komprimovaný zásobník. Ať už toky komprimovaného zásobníku, spravovaný objekt zabezpečení, synchronizace, národní prostředí a kontext uživatele také proudí. Třída ExecutionContext poskytuje Capture a CreateCopy metody pro získání kontextu spuštění a Run metody pro nastavení kontextu spuštění pro aktuální vlákno.

Nelze ExecutionContext nastavit vlákno, které je přidruženo k jinému vláknu. Při pokusu o to dojde k vyvolání výjimky. Chcete-li rozšířit ExecutionContext z jednoho vlákna do druhého, vytvořte kopii ExecutionContext.

Interně ExecutionContext ukládá všechna data, která jsou přidružena k .LogicalCallContext To umožňuje LogicalCallContext šíření dat při ExecutionContext kopírování a přenosu.

Metody

Name Description
Capture()

Zachycuje kontext spuštění z aktuálního vlákna.

CreateCopy()

Vytvoří kopii aktuálního kontextu spuštění.

Dispose()

Uvolní všechny prostředky používané aktuální instancí ExecutionContext třídy.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetObjectData(SerializationInfo, StreamingContext)
Zastaralé.

Nastaví zadaný SerializationInfo objekt s informacemi o logickém kontextu potřebné k opětovnému vytvoření instance aktuálního kontextu spuštění.

GetType()

Získá Type aktuální instance.

(Zděděno od Object)
IsFlowSuppressed()

Určuje, jestli je tok kontextu spuštění aktuálně potlačen.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
Restore(ExecutionContext)

Obnoví zachycený kontext spuštění do aktuálního vlákna.

RestoreFlow()

Obnoví tok kontextu spuštění napříč asynchronními vlákny.

Run(ExecutionContext, ContextCallback, Object)

Spustí metodu v zadaném kontextu spuštění v aktuálním vlákně.

SuppressFlow()

Potlačuje tok kontextu spuštění napříč asynchronními vlákny.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro