Condividi tramite


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 : IDisposable, System::Runtime::Serialization::ISerializable
public ref class ExecutionContext sealed : System::Runtime::Serialization::ISerializable
public sealed class ExecutionContext
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class ExecutionContext : System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
type ExecutionContext = class
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
[<System.Serializable>]
type ExecutionContext = class
    interface ISerializable
[<System.Serializable>]
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
Public NotInheritable Class ExecutionContext
Public NotInheritable Class ExecutionContext
Implements IDisposable, ISerializable
Public NotInheritable Class ExecutionContext
Implements 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 include 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 vengono trasmessi 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 e SynchronizationContext.

La ExecutionContext classe fornisce la funzionalità per il codice utente per acquisire e trasferire questo contesto tra 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, la Thread.Start maggior parte delle operazioni del pool di thread e Windows Forms marshalling dei thread 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 vengano trasmessi. 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, archivia ExecutionContext tutti i dati associati a LogicalCallContext. Ciò consente la propagazione dei LogicalCallContext dati quando ExecutionContext viene copiato e trasferito .

Metodi

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 classe ExecutionContext.

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 SerializationInfo specificato con le informazioni logiche sul contesto necessarie per ricreare un'istanza del contesto di esecuzione corrente.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsFlowSuppressed()

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

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Restore(ExecutionContext)

Ripristina un contesto di esecuzione acquisito nel thread corrente.

RestoreFlow()

Ripristina il flusso del contesto di esecuzione fra thread asincroni.

Run(ExecutionContext, ContextCallback, Object)

Esegue un metodo in un contesto di esecuzione specifico sul thread corrente.

SuppressFlow()

Sopprime il flusso del contesto di esecuzione fra thread asincroni.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a