ExecutionContext Třída

Definice

Spravuje kontext spuštění pro aktuální vlákno.Manages the execution context for the current thread. Tuto třídu nelze zdědit.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
Dědičnost
ExecutionContext
Atributy
Implementuje

Poznámky

Třída ExecutionContext poskytuje jeden kontejner pro všechny informace, které jsou relevantní pro logické vlákno provádění.The ExecutionContext class provides a single container for all information relevant to a logical thread of execution. To zahrnuje kontext zabezpečení, kontext volání a kontext synchronizace.This includes security context, call context, and synchronization context.

Třída ExecutionContext poskytuje funkci pro uživatelský kód pro zachycení a přenos tohoto kontextu napříč uživatelem definovanými asynchronními body.The ExecutionContext class provides the functionality for user code to capture and transfer this context across user-defined asynchronous points. Modul CLR (Common Language Runtime) zajišťuje, aby se ExecutionContext konzistentně přenesly přes asynchronní body definované za běhu v rámci spravovaného procesu.The common language runtime ensures that the ExecutionContext is consistently transferred across runtime-defined asynchronous points within the managed process.

Kontext spuštění je spravovaný ekvivalent typu apartment modelu COM.An execution context is the managed equivalent of a COM apartment. V rámci domény aplikace je nutné přenést celý kontext spuštění při každém přenosu vlákna.Within an application domain, the entire execution context must be transferred whenever a thread is transferred. K této situaci dochází během přenosu prováděného metodou Thread.Start, většiny operací fondu vláken a model Windows Forms zařazování vlákna prostřednictvím zpráv 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. Nevyskytuje se v nebezpečných operacích fondu vláken (například metoda UnsafeQueueUserWorkItem), které nepřenášejí komprimovaný zásobník.It does not occur in unsafe thread pool operations (such as the UnsafeQueueUserWorkItem method), which do not transfer the compressed stack. Bez ohledu na to, jak zkomprimované je tok zásobníku, se taky přesměruje spravovaný objekt zabezpečení, synchronizace, národní prostředí a kontext uživatele.Wherever the compressed stack flows, the managed principal, synchronization, locale, and user context also flow. Třída ExecutionContext poskytuje metody Capture a CreateCopy k získání kontextu spuštění a metody Run k nastavení kontextu spuštění pro aktuální vlákno.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.

ExecutionContext, která je přidružena ke vláknu, nelze nastavit v jiném vlákně.An ExecutionContext that is associated with a thread cannot be set on another thread. Pokus o provedení této akce způsobí vyvolání výjimky.Attempting to do so will result in an exception being thrown. Chcete-li rozšířit ExecutionContext z jednoho vlákna na jiný, vytvořte kopii ExecutionContext.To propagate the ExecutionContext from one thread to another, make a copy of the ExecutionContext.

Interně ExecutionContext ukládá všechna data, která jsou přidružená k LogicalCallContext.Internally, the ExecutionContext stores all data that is associated with the LogicalCallContext. To umožňuje, aby se data LogicalCallContext rozšířila při kopírování a přenosu ExecutionContext.This allows the LogicalCallContext data to be propagated when the ExecutionContext is copied and transferred.

Metody

Capture()

Zachycuje kontext spuštění z aktuálního vlákna.Captures the execution context from the current thread.

CreateCopy()

Vytvoří kopii aktuálního kontextu spuštění.Creates a copy of the current execution context.

Dispose()

Uvolní všechny prostředky používané aktuální instancí třídy ExecutionContext.Releases all resources used by the current instance of the ExecutionContext class.

Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

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

Slouží jako výchozí funkce hash.Serves as the default hash function.

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

Nastaví zadaný objekt SerializationInfo o informace o logickém kontextu potřebné k opětovnému vytvoření instance aktuálního kontextu spuštění.Sets the specified SerializationInfo object with the logical context information needed to recreate an instance of the current execution context.

GetType()

Získá Type aktuální instance.Gets the Type of the current instance.

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

Označuje, zda tok kontextu spuštění je aktuálně potlačen.Indicates whether the flow of the execution context is currently suppressed.

MemberwiseClone()

Vytvoří kopii aktuálního Objectbez podstruktury.Creates a shallow copy of the current Object.

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

Obnoví tok kontextu spuštění napříč asynchronními vlákny.Restores the flow of the execution context across asynchronous threads.

Run(ExecutionContext, ContextCallback, Object)

Spustí metodu v zadaném kontextu spuštění v aktuálním vlákně.Runs a method in a specified execution context on the current thread.

SuppressFlow()

Potlačí tok prováděcího kontextu napříč asynchronními vlákny.Suppresses the flow of the execution context across asynchronous threads.

ToString()

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Platí pro