ExecutionContext ExecutionContext ExecutionContext ExecutionContext Class

Definition

Verwaltet den Ausführungskontext für den aktuellen Thread.Manages the execution context for the current thread. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class ExecutionContext sealed : IDisposable, System::Runtime::Serialization::ISerializable
[System.Serializable]
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
Public NotInheritable Class ExecutionContext
Implements IDisposable, ISerializable
Vererbung
ExecutionContextExecutionContextExecutionContextExecutionContext
Attribute
Implementiert

Hinweise

Die ExecutionContext -Klasse stellt einen einzelnen Container für alle Informationen bereit, die für einen logischen Ausführungs Thread relevant sind.The ExecutionContext class provides a single container for all information relevant to a logical thread of execution. Dies schließt den Sicherheitskontext, den Aufrufkontext und den Synchronisierungs Kontext ein.This includes security context, call context, and synchronization context.

Die ExecutionContext -Klasse stellt die Funktionalität bereit, mit der Benutzercode diesen Kontext über benutzerdefinierte asynchrone Punkte erfassen und übertragen können.The ExecutionContext class provides the functionality for user code to capture and transfer this context across user-defined asynchronous points. Der Common Language Runtime stellt sicher, ExecutionContext dass die konsistent über die Laufzeit definierten asynchronen Punkte innerhalb des verwalteten Prozesses übertragen wird.The common language runtime ensures that the ExecutionContext is consistently transferred across runtime-defined asynchronous points within the managed process.

Ein Ausführungs Kontext ist das verwaltete Äquivalent eines COM-Apartment.An execution context is the managed equivalent of a COM apartment. Innerhalb einer Anwendungsdomäne muss der gesamte Ausführungs Kontext übertragen werden, wenn ein Thread übertragen wird.Within an application domain, the entire execution context must be transferred whenever a thread is transferred. Diese Situation tritt bei Übertragungen, die Thread.Start von der-Methode ausgeführt werden, bei den meisten Thread Pool Vorgängen und beim Marshalling von Windows Forms Thread durch die Windows-Nachrichten Pump aufThis situation occurs during transfers made by the Thread.Start method, most thread pool operations, and Windows Forms thread marshaling through the Windows message pump. Sie tritt nicht in unsicheren Thread Pool Vorgängen (z. b UnsafeQueueUserWorkItem . der-Methode) auf, die den komprimierten Stapel nicht übertragen.It does not occur in unsafe thread pool operations (such as the UnsafeQueueUserWorkItem method), which do not transfer the compressed stack. Wenn der komprimierte Stapel fließt, werden auch der verwaltete Prinzipal, die Synchronisierung, das Gebiets Schema und der Benutzer Kontext fließen.Wherever the compressed stack flows, the managed principal, synchronization, locale, and user context also flow. Die ExecutionContext -Klasse stellt Capture die CreateCopy Methoden und bereit, um den Ausführungs Kontext Run zu erhalten, und die-Methode, um den Ausführungs Kontext für den aktuellen Thread festzulegen.The ExecutionContext class provides the Capture and CreateCopy methods to get the execution context and the Run method to set the execution context for the current thread.

Ein ExecutionContext , das einem Thread zugeordnet ist, kann nicht für einen anderen Thread festgelegt werden.An ExecutionContext that is associated with a thread cannot be set on another thread. Wenn Sie versuchen, dies zu tun, wird eine Ausnahme ausgelöst.Attempting to do so will result in an exception being thrown. Um den ExecutionContext von einem Thread an einen anderen zu übertragen, erstellen Sie ExecutionContexteine Kopie von.To propagate the ExecutionContext from one thread to another, make a copy of the ExecutionContext.

Intern speichert alle Daten, die dem LogicalCallContextzugeordnet sind. ExecutionContextInternally, the ExecutionContext stores all data that is associated with the LogicalCallContext. Dadurch können die LogicalCallContext Daten weitergegeben werden, ExecutionContext wenn kopiert und übertragen wird.This allows the LogicalCallContext data to be propagated when the ExecutionContext is copied and transferred.

Methoden

Capture() Capture() Capture() Capture()

Zeichnet den Ausführungskontext des aktuellen Threads auf.Captures the execution context from the current thread.

CreateCopy() CreateCopy() CreateCopy() CreateCopy()

Erstellt eine Kopie des aktuellen Ausführungskontexts.Creates a copy of the current execution context.

Dispose() Dispose() Dispose() Dispose()

Gibt alle von der aktuellen Instanz der ExecutionContext-Klasse verwendeten Ressourcen frei.Releases all resources used by the current instance of the ExecutionContext class.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Legt das SerializationInfo-Objekt mit den logischen Kontextinformationen ab, die zum erneuten Erstellen einer Instanz des aktuellem Ausführungskontexts erforderlich sind.Sets the specified SerializationInfo object with the logical context information needed to recreate an instance of the current execution context.

GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
IsFlowSuppressed() IsFlowSuppressed() IsFlowSuppressed() IsFlowSuppressed()

Gibt an, ob der Fluss des Ausführungskontexts derzeit unterdrückt wird.Indicates whether the flow of the execution context is currently suppressed.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
RestoreFlow() RestoreFlow() RestoreFlow() RestoreFlow()

Stellt den Fluss des Ausführungskontexts über asynchrone Threads wieder her.Restores the flow of the execution context across asynchronous threads.

Run(ExecutionContext, ContextCallback, Object) Run(ExecutionContext, ContextCallback, Object) Run(ExecutionContext, ContextCallback, Object) Run(ExecutionContext, ContextCallback, Object)

Führt für den aktuellen Thread eine Methode in einem angegebenen Ausführungskontext aus.Runs a method in a specified execution context on the current thread.

SuppressFlow() SuppressFlow() SuppressFlow() SuppressFlow()

Unterdrückt den Fluss des Ausführungskontexts über asynchrone Threads hinweg.Suppresses the flow of the execution context across asynchronous threads.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für: