ExecutionContext Klasa

Definicja

Zarządza kontekstem wykonywania dla bieżącego wątku.Manages the execution context for the current thread. Klasa ta nie może być dziedziczona.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
Dziedziczenie
ExecutionContext
Atrybuty
Implementuje

Uwagi

Klasa ExecutionContext zawiera pojedynczy kontener dla wszystkich informacji istotnych dla logicznego wątku wykonywania.The ExecutionContext class provides a single container for all information relevant to a logical thread of execution. Dotyczy to kontekstu zabezpieczeń, kontekstu wywołania i kontekstu synchronizacji.This includes security context, call context, and synchronization context.

Klasa ExecutionContext udostępnia funkcje kodu użytkownika do przechwytywania i transferu tego kontekstu w punktach asynchronicznych zdefiniowanych przez użytkownika.The ExecutionContext class provides the functionality for user code to capture and transfer this context across user-defined asynchronous points. Środowisko uruchomieniowe języka wspólnego zapewnia, że ExecutionContext jest stale transferowana przez punkty asynchroniczne zdefiniowane przez środowisko uruchomieniowe w ramach procesu zarządzanego.The common language runtime ensures that the ExecutionContext is consistently transferred across runtime-defined asynchronous points within the managed process.

Kontekst wykonywania jest zarządzanym odpowiednikiem apartamentu modelu COM.An execution context is the managed equivalent of a COM apartment. W domenie aplikacji cały kontekst wykonywania musi być transferowany za każdym razem, gdy wątek jest transferowany.Within an application domain, the entire execution context must be transferred whenever a thread is transferred. Ta sytuacja występuje podczas transferów wykonywanych przez metodę Thread.Start, większość operacji puli wątków i Windows Forms organizowanie wątków za pomocą pompy komunikatów systemu Windows.This situation occurs during transfers made by the Thread.Start method, most thread pool operations, and Windows Forms thread marshaling through the Windows message pump. Nie występuje w operacjach niebezpiecznej puli wątków (takich jak Metoda UnsafeQueueUserWorkItem), które nie przesyłają skompresowanego stosu.It does not occur in unsafe thread pool operations (such as the UnsafeQueueUserWorkItem method), which do not transfer the compressed stack. W każdym miejscu, w którym znajdują się skompresowane przepływy stosu, jest również przepływ zarządzanego podmiotu zabezpieczeń, synchronizacji, ustawień regionalnych i kontekstu użytkownika.Wherever the compressed stack flows, the managed principal, synchronization, locale, and user context also flow. Klasa ExecutionContext dostarcza metody Capture i CreateCopy, aby uzyskać kontekst wykonywania i metodę Run, aby ustawić kontekst wykonywania dla bieżącego wątku.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.

Nie można ustawić ExecutionContext, która jest skojarzona z wątkiem w innym wątku.An ExecutionContext that is associated with a thread cannot be set on another thread. Próba wykonania tej czynności spowoduje wystąpienie wyjątku.Attempting to do so will result in an exception being thrown. Aby propagować ExecutionContext z jednego wątku do innego, Utwórz kopię ExecutionContext.To propagate the ExecutionContext from one thread to another, make a copy of the ExecutionContext.

Wewnętrznie ExecutionContext przechowuje wszystkie dane skojarzone z LogicalCallContext.Internally, the ExecutionContext stores all data that is associated with the LogicalCallContext. Dzięki temu LogicalCallContext dane mają być propagowane podczas kopiowania i przesyłania ExecutionContext.This allows the LogicalCallContext data to be propagated when the ExecutionContext is copied and transferred.

Metody

Capture()

Przechwytuje kontekst wykonywania z bieżącego wątku.Captures the execution context from the current thread.

CreateCopy()

Tworzy kopię bieżącego kontekstu wykonania.Creates a copy of the current execution context.

Dispose()

Zwalnia wszystkie zasoby używane przez bieżące wystąpienie klasy ExecutionContext.Releases all resources used by the current instance of the ExecutionContext class.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Ustawia określony obiekt SerializationInfo z informacjami kontekstu logicznego, które są konieczne do ponownego utworzenia wystąpienia bieżącego kontekstu wykonania.Sets the specified SerializationInfo object with the logical context information needed to recreate an instance of the current execution context.

GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
IsFlowSuppressed()

Wskazuje, czy przepływ kontekstu wykonywania jest obecnie pomijany.Indicates whether the flow of the execution context is currently suppressed.

MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
RestoreFlow()

Przywraca przepływ kontekstu wykonywania w wątkach asynchronicznych.Restores the flow of the execution context across asynchronous threads.

Run(ExecutionContext, ContextCallback, Object)

Uruchamia metodę w określonym kontekście wykonania w bieżącym wątku.Runs a method in a specified execution context on the current thread.

SuppressFlow()

Pomija przepływ kontekstu wykonywania w wątkach asynchronicznych.Suppresses the flow of the execution context across asynchronous threads.

ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Dotyczy