ExecutionContext Classe

Definizione

Gestisce il contesto di esecuzione per il thread corrente. La classe non può essere ereditata.

public ref class ExecutionContext sealed
public ref class ExecutionContext sealed : System::Runtime::Serialization::ISerializable
public ref class ExecutionContext sealed : IDisposable, System::Runtime::Serialization::ISerializable
public sealed class ExecutionContext
[System.Serializable]
public sealed class ExecutionContext : System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
type ExecutionContext = class
[<System.Serializable>]
type ExecutionContext = class
    interface ISerializable
[<System.Serializable>]
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
Public NotInheritable Class ExecutionContext
Public NotInheritable Class ExecutionContext
Implements 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. In .NET Framework sono inclusi contesto di sicurezza, contesto di chiamata e contesto di sincronizzazione. In .NET Core, il contesto di sicurezza e il contesto delle chiamate non sono supportati, tuttavia, il contesto di rappresentazione e le impostazioni cultura in genere fluirebbero con il contesto di esecuzione. Anche in .NET Core, il contesto di sincronizzazione non viene propagato con il contesto di esecuzione, mentre in .NET Framework può in alcuni casi. Per altre informazioni, vedere ExecutionContext vs SynchronizationContext.

La ExecutionContext classe fornisce la funzionalità per il codice utente per acquisire e trasferire questo contesto in punti asincroni definiti dall'utente. Common Language Runtime garantisce che l'oggetto ExecutionContext venga trasferito in modo coerente tra i punti asincroni definiti dal runtime all'interno del processo gestito.

  • Di seguito è applicabile solo .NET Framework. -

Un contesto di esecuzione è l'equivalente gestito di un apartment COM. All'interno di un dominio applicazione, l'intero contesto di esecuzione deve essere trasferito ogni volta che viene trasferito un thread. Questa situazione si verifica durante i trasferimenti effettuati dal metodo Thread.Start, la maggior parte delle operazioni del pool di thread e il marshalling del thread Windows Forms tramite il Windows message pump. Non si verifica nelle operazioni del pool di thread non sicure ,ad esempio il UnsafeQueueUserWorkItem metodo , che non trasferiscono lo stack compresso. Ovunque il flusso dello stack compresso, anche l'entità gestita, la sincronizzazione, le impostazioni locali e il contesto utente. La ExecutionContext classe fornisce i Capture metodi e CreateCopy per ottenere il contesto di esecuzione e il Run metodo per impostare il contesto di esecuzione per il thread corrente.

Un ExecutionContext oggetto associato a un thread non può essere impostato su un altro thread. Se si tenta di eseguire questa operazione, verrà generata un'eccezione. Per propagare l'oggetto ExecutionContext da un thread a un altro, creare una copia dell'oggetto ExecutionContext.

Internamente, ExecutionContext archivia tutti i dati associati all'oggetto LogicalCallContext. Ciò consente di propagare i LogicalCallContext dati quando ExecutionContext viene copiato e trasferito.

Metodi

Nome Descrizione
Capture()

Acquisisce il contesto di esecuzione dal thread corrente.

CreateCopy()

Crea una copia del contesto di esecuzione corrente.

Dispose()

Rilascia tutte le risorse usate dall'istanza corrente della ExecutionContext classe .

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetObjectData(SerializationInfo, StreamingContext)

Imposta l'oggetto specificato SerializationInfo con le informazioni sul contesto logico necessarie per ricreare un'istanza del contesto di esecuzione corrente.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsFlowSuppressed()

Indica se il flusso del contesto di esecuzione è attualmente eliminato.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
RestoreFlow()

Ripristina il flusso del contesto di esecuzione tra thread asincroni.

Run(ExecutionContext, ContextCallback, Object)

Esegue un metodo in un contesto di esecuzione specificato nel thread corrente.

SuppressFlow()

Elimina il flusso del contesto di esecuzione tra thread asincroni.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a