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 classe ExecutionContext 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 classe ExecutionContext 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 il ExecutionContext venga trasferito costantemente tra i 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 dal metodo Thread.Start, dalla maggior parte delle operazioni del pool di thread e dal 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 esempio, il metodo UnsafeQueueUserWorkItem), 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 classe ExecutionContext fornisce i metodi Capture e CreateCopy per ottenere il contesto di esecuzione e il metodo Run 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.

Impossibile impostare un ExecutionContext associato a un thread in 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 il ExecutionContext da un thread a un altro, creare una copia del ExecutionContext.To propagate the ExecutionContext from one thread to another, make a copy of the ExecutionContext.

Internamente, il ExecutionContext archivia tutti i dati associati al LogicalCallContext.Internally, the ExecutionContext stores all data that is associated with the LogicalCallContext. Ciò consente la propagazione dei dati LogicalCallContext quando il ExecutionContext 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