Partager via


ExecutionContext Classe

Définition

Gère le contexte d'exécution du thread actuel. Cette classe ne peut pas être héritée.

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
Héritage
ExecutionContext
Attributs
Implémente

Remarques

La ExecutionContext classe fournit un conteneur unique pour toutes les informations pertinentes pour un thread logique d’exécution. Dans .NET Framework, cela inclut le contexte de sécurité, le contexte d’appel et le contexte de synchronisation. Dans .NET Core, le contexte de sécurité et le contexte d’appel ne sont pas pris en charge, toutefois, le contexte et la culture d’emprunt d’identité sont généralement en cours de flux avec le contexte d’exécution. En outre, dans .NET Core, le contexte de synchronisation ne circule pas avec le contexte d’exécution, tandis que dans .NET Framework il peut dans certains cas. Pour plus d’informations, consultez ExecutionContext vs SynchronizationContext.

La ExecutionContext classe fournit les fonctionnalités du code utilisateur pour capturer et transférer ce contexte entre des points asynchrones définis par l’utilisateur. Le Common Language Runtime garantit le ExecutionContext transfert cohérent entre les points asynchrones définis par le runtime au sein du processus managé.

  • Les éléments suivants s’appliquent uniquement à .NET Framework. -

Un contexte d’exécution est l’équivalent managé d’un appartement COM. Dans un domaine d’application, le contexte d’exécution entier doit être transféré chaque fois qu’un thread est transféré. Cette situation se produit lors des transferts effectués par la méthode, la Thread.Start plupart des opérations de pool de threads et Windows Forms le marshaling de threads via la pompe de messages Windows. Il ne se produit pas dans les opérations de pool de threads non sécurisées (telles que la UnsafeQueueUserWorkItem méthode), qui ne transfèrent pas la pile compressée. Partout où les flux de pile compressés, le principal managé, la synchronisation, les paramètres régionaux et le contexte utilisateur sont également en cours. La ExecutionContext classe fournit les méthodes et CreateCopy les Capture méthodes permettant d’obtenir le contexte d’exécution et la Run méthode pour définir le contexte d’exécution du thread actuel.

Un ExecutionContext thread associé à un thread ne peut pas être défini sur un autre thread. Si vous tentez de le faire, une exception est levée. Pour propager le ExecutionContext thread d’un thread à un autre, effectuez une copie du ExecutionContext.

En interne, le ExecutionContext magasine toutes les données associées au LogicalCallContext. Cela permet aux LogicalCallContext données de se propager quand elles ExecutionContext sont copiées et transférées.

Méthodes

Capture()

Capture le contexte d'exécution du thread actuel.

CreateCopy()

Crée une copie du contexte d'exécution actuel.

Dispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe ExecutionContext.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetObjectData(SerializationInfo, StreamingContext)

Définit l'objet SerializationInfo spécifié avec les informations de contexte logiques nécessaires à la recréation d'une instance du contexte d'exécution en cours.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsFlowSuppressed()

Indique si le flux du contexte d'exécution est actuellement supprimé.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
Restore(ExecutionContext)

Restaure un contexte d’exécution capturé sur le thread actuel.

RestoreFlow()

Restaure le flux du contexte d'exécution sur des threads asynchrones.

Run(ExecutionContext, ContextCallback, Object)

Exécute une méthode dans un contexte d'exécution spécifié sur le thread actuel.

SuppressFlow()

Supprime le flux du contexte d'exécution sur des threads asynchrones.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à