ExecutionContext Classe

Definizione

Gestisce il contesto di esecuzione per il thread corrente.Manages the execution context for the current thread. Questa classe non può essere ereditata.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
Ereditarietà
ExecutionContext
Attributi
Implementazioni

Commenti

La ExecutionContext classe fornisce un singolo contenitore per tutte le informazioni rilevanti per un thread logico di esecuzione.The ExecutionContext class provides a single container for all information relevant to a logical thread of execution. Sono inclusi il contesto di sicurezza, il contesto di chiamata e il contesto di sincronizzazione.This includes security context, call context, and synchronization context.

La ExecutionContext classe fornisce la funzionalità per il codice utente per l'acquisizione e il trasferimento di questo contesto tra punti asincroni definiti dall'utente.The ExecutionContext class provides the functionality for user code to capture and transfer this context across user-defined asynchronous points. Il Common Language Runtime garantisce che l' ExecutionContext oggetto venga trasferito costantemente tra punti asincroni definiti in fase di esecuzione all'interno del processo gestito.The common language runtime ensures that the ExecutionContext is consistently transferred across runtime-defined asynchronous points within the managed process.

Un contesto di esecuzione è l'equivalente gestito di un apartment COM.An execution context is the managed equivalent of a COM apartment. All'interno di un dominio applicazione, l'intero contesto di esecuzione deve essere trasferito ogni volta che viene trasferito un thread.Within an application domain, the entire execution context must be transferred whenever a thread is transferred. Questa situazione si verifica durante i trasferimenti effettuati Thread.Start dal metodo, la maggior parte delle operazioni del pool di thread e il marshalling dei thread Windows Forms tramite il message pump di 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. Non si verifica nelle operazioni del pool di thread non sicure (ad UnsafeQueueUserWorkItem esempio il metodo), che non trasferiscono lo stack compresso.It does not occur in unsafe thread pool operations (such as the UnsafeQueueUserWorkItem method), which do not transfer the compressed stack. Ogni volta che vengono trasmessi i flussi di stack compressi, l'entità gestita, la sincronizzazione, le impostazioni locali e il contesto utente.Wherever the compressed stack flows, the managed principal, synchronization, locale, and user context also flow. La ExecutionContext classe fornisce i Capture metodi CreateCopy e per ottenere il contesto di esecuzione e Run il metodo per impostare il contesto di esecuzione per il thread corrente.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.

Un ExecutionContext oggetto associato a un thread non può essere impostato su un altro thread.An ExecutionContext that is associated with a thread cannot be set on another thread. Il tentativo di eseguire questa operazione comporterà la generazione di un'eccezione.Attempting to do so will result in an exception being thrown. Per propagare l' ExecutionContext oggetto da un thread a un altro, creare una copia ExecutionContextdi.To propagate the ExecutionContext from one thread to another, make a copy of the ExecutionContext.

Internamente, ExecutionContext archivia tutti i dati associati LogicalCallContexta.Internally, the ExecutionContext stores all data that is associated with the LogicalCallContext. Ciò consente la LogicalCallContext propagazione dei dati ExecutionContext quando viene copiato e trasferito.This allows the LogicalCallContext data to be propagated when the ExecutionContext is copied and transferred.

Metodi

Capture()

Acquisisce il contesto di esecuzione dal thread corrente.Captures the execution context from the current thread.

CreateCopy()

Crea una copia del contesto di esecuzione corrente.Creates a copy of the current execution context.

Dispose()

Rilascia tutte le risorse usate dall'istanza corrente della classe ExecutionContext.Releases all resources used by the current instance of the ExecutionContext class.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)

Imposta l'oggetto SerializationInfo specificato con le informazioni logiche sul contesto necessarie per ricreare un'istanza del contesto di esecuzione corrente.Sets the specified SerializationInfo object with the logical context information needed to recreate an instance of the current execution context.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
IsFlowSuppressed()

Indica se il flusso del contesto di esecuzione attualmente è soppresso.Indicates whether the flow of the execution context is currently suppressed.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
RestoreFlow()

Ripristina il flusso del contesto di esecuzione fra thread asincroni.Restores the flow of the execution context across asynchronous threads.

Run(ExecutionContext, ContextCallback, Object)

Esegue un metodo in un contesto di esecuzione specifico sul thread corrente.Runs a method in a specified execution context on the current thread.

SuppressFlow()

Sopprime il flusso del contesto di esecuzione fra thread asincroni.Suppresses the flow of the execution context across asynchronous threads.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a