ExecutionContext Klasse

Definition

Verwaltet den Ausführungskontext für den aktuellen Thread. Diese Klasse kann nicht vererbt werden.

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
Vererbung
ExecutionContext
Attribute
Implementiert

Hinweise

Die ExecutionContext Klasse stellt einen einzelnen Container für alle Informationen bereit, die für einen logischen Ausführungsthread relevant sind. In .NET Framework umfasst dies Sicherheitskontext, Aufrufkontext und Synchronisierungskontext. In .NET Core werden der Sicherheitskontext und der Aufrufkontext jedoch nicht unterstützt, der Identitätswechselkontext und die Kultur würden in der Regel mit dem Ausführungskontext fließen. Auch in .NET Core fließt der Synchronisierungskontext nicht mit dem Ausführungskontext, während es in .NET Framework in einigen Fällen auftreten kann. Weitere Informationen finden Sie unter ExecutionContext vs SynchronizationContext.

Die ExecutionContext Klasse stellt die Funktionalität für Benutzercode bereit, um diesen Kontext über benutzerdefinierte asynchrone Punkte hinweg zu erfassen und zu übertragen. Die Common Language Runtime stellt sicher, dass die ExecutionContext Daten konsistent über laufzeitdefinierte asynchrone Punkte innerhalb des verwalteten Prozesses übertragen werden.

  • Es gilt nur für .NET Framework. -

Ein Ausführungskontext ist das verwaltete Äquivalent eines COM-Apartments. Innerhalb einer Anwendungsdomäne muss der gesamte Ausführungskontext bei jeder Übertragung eines Threads übertragen werden. Diese Situation tritt bei Übertragungen durch die Thread.Start-Methode, die meisten Threadpoolvorgänge und Windows Forms Threadmarsing über die Windows Nachrichtenpumpe auf. Sie tritt nicht in unsicheren Threadpoolvorgängen (z. B. der UnsafeQueueUserWorkItem Methode) auf, die den komprimierten Stapel nicht übertragen. Wo immer der komprimierte Stapel fließt, fließen auch der verwaltete Prinzipal, die Synchronisierung, das Gebietsschema und der Benutzerkontext. Die ExecutionContext Klasse stellt die und CreateCopy methoden Capture zum Abrufen des Ausführungskontexts und der Run Methode zum Festlegen des Ausführungskontexts für den aktuellen Thread bereit.

Ein ExecutionContext Thread, der einem Thread zugeordnet ist, kann nicht für einen anderen Thread festgelegt werden. Wenn Sie versuchen, dies zu tun, wird eine Ausnahme ausgelöst. Um den ExecutionContext Von einem Thread in einen anderen zu verteilen, erstellen Sie eine Kopie der ExecutionContext.

Intern werden alle Daten gespeichert, ExecutionContext die dem LogicalCallContextZugeordnet sind. Dadurch können die LogicalCallContext Daten weitergegeben werden, wenn die ExecutionContext Daten kopiert und übertragen werden.

Methoden

Name Beschreibung
Capture()

Erfasst den Ausführungskontext aus dem aktuellen Thread.

CreateCopy()

Erstellt eine Kopie des aktuellen Ausführungskontexts.

Dispose()

Gibt alle Ressourcen frei, die von der aktuellen Instanz der ExecutionContext Klasse verwendet werden.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Legt das angegebene SerializationInfo Objekt mit den logischen Kontextinformationen fest, die erforderlich sind, um eine Instanz des aktuellen Ausführungskontexts neu zu erstellen.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
IsFlowSuppressed()

Gibt an, ob der Fluss des Ausführungskontexts zurzeit unterdrückt wird.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
RestoreFlow()

Stellt den Fluss des Ausführungskontexts über asynchrone Threads wieder her.

Run(ExecutionContext, ContextCallback, Object)

Führt eine Methode in einem angegebenen Ausführungskontext im aktuellen Thread aus.

SuppressFlow()

Unterdrückt den Fluss des Ausführungskontexts über asynchrone Threads.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: