ExecutionContext Clase

Definición

Administra el contexto de ejecución para el subproceso actual.Manages the execution context for the current thread. Esta clase no puede heredarse.This class cannot be inherited.

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
Herencia
ExecutionContext
Atributos
Implementaciones

Comentarios

La ExecutionContext clase proporciona un contenedor único para toda la información relevante para un subproceso lógico de ejecución.The ExecutionContext class provides a single container for all information relevant to a logical thread of execution. En .NET Framework, esto incluye el contexto de seguridad, el contexto de llamada y el contexto de sincronización.In .NET Framework, this includes security context, call context, and synchronization context. En .NET Core, el contexto de seguridad y el contexto de llamada no se admiten. sin embargo, el contexto de suplantación y la referencia cultural normalmente fluyen con el contexto de ejecución.In .NET Core, the security context and call context are not supported, however, the impersonation context and culture would typically flow with the execution context. También en .NET Core, el contexto de sincronización no fluye con el contexto de ejecución, mientras que en .NET Framework puede en algunos casos.Also in .NET Core, the synchronization context does not flow with the execution context, whereas in .NET Framework it may in some cases. Para obtener más información, vea ExecutionContext vs SynchronizationContext.For more information, see ExecutionContext vs SynchronizationContext.

La ExecutionContext clase proporciona la funcionalidad para que el código de usuario Capture y transfiera este contexto a través de los puntos asincrónicos definidos por el usuario.The ExecutionContext class provides the functionality for user code to capture and transfer this context across user-defined asynchronous points. La Common Language Runtime garantiza que ExecutionContext se transfiere de forma coherente a través de los puntos asincrónicos definidos en tiempo de ejecución en el proceso administrado.The common language runtime ensures that the ExecutionContext is consistently transferred across runtime-defined asynchronous points within the managed process.

  • Lo siguiente solo se aplica a .NET Framework.The following is applicable to .NET Framework only. -

Un contexto de ejecución es el equivalente administrado de un apartamento COM.An execution context is the managed equivalent of a COM apartment. Dentro de un dominio de aplicación, se debe transferir todo el contexto de ejecución cada vez que se transfiera un subproceso.Within an application domain, the entire execution context must be transferred whenever a thread is transferred. Esta situación se produce durante las transferencias realizadas por el Thread.Start método, la mayoría de las operaciones del grupo de subprocesos y Windows Forms el cálculo de referencias de subprocesos mediante el bombeo de mensajes de 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. No se produce en operaciones de grupo de subprocesos no seguras (como el UnsafeQueueUserWorkItem método), que no transfieren la pila comprimida.It does not occur in unsafe thread pool operations (such as the UnsafeQueueUserWorkItem method), which do not transfer the compressed stack. Siempre que fluya la pila comprimida, también fluyen la entidad de seguridad administrada, la sincronización, la configuración regional y el contexto del usuario.Wherever the compressed stack flows, the managed principal, synchronization, locale, and user context also flow. La ExecutionContext clase proporciona los Capture CreateCopy métodos y para obtener el contexto de ejecución y el Run método para establecer el contexto de ejecución para el subproceso actual.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 objeto ExecutionContext asociado a un subproceso no se puede establecer en otro subproceso.An ExecutionContext that is associated with a thread cannot be set on another thread. Si intenta hacerlo, se producirá una excepción.Attempting to do so will result in an exception being thrown. Para propagar el ExecutionContext de un subproceso a otro, haga una copia de ExecutionContext .To propagate the ExecutionContext from one thread to another, make a copy of the ExecutionContext.

Internamente, el ExecutionContext almacena todos los datos que están asociados a LogicalCallContext .Internally, the ExecutionContext stores all data that is associated with the LogicalCallContext. Esto permite LogicalCallContext propagar los datos cuando ExecutionContext se copia y se transfiere.This allows the LogicalCallContext data to be propagated when the ExecutionContext is copied and transferred.

Métodos

Capture()

Captura el contexto de ejecución del subproceso actual.Captures the execution context from the current thread.

CreateCopy()

Crea una copia del contexto de ejecución actual.Creates a copy of the current execution context.

Dispose()

Libera todos los recursos usados por la instancia actual de la clase ExecutionContext.Releases all resources used by the current instance of the ExecutionContext class.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Establece el objeto SerializationInfo especificado con la información de contexto lógica necesaria para volver a crear una instancia del contexto de ejecución actual.Sets the specified SerializationInfo object with the logical context information needed to recreate an instance of the current execution context.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
IsFlowSuppressed()

Indica si el flujo del contexto de ejecución está suprimido en este momento.Indicates whether the flow of the execution context is currently suppressed.

MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
Restore(ExecutionContext)

Restaura un contexto de ejecución capturado en el subproceso actual.Restores a captured execution context on to the current thread.

RestoreFlow()

Restaura el flujo del contexto de ejecución entre subprocesos asincrónicos.Restores the flow of the execution context across asynchronous threads.

Run(ExecutionContext, ContextCallback, Object)

Ejecuta un método en un contexto de ejecución especificado en el subproceso actual.Runs a method in a specified execution context on the current thread.

SuppressFlow()

Suprime el flujo del contexto de ejecución entre subprocesos asincrónicos.Suppresses the flow of the execution context across asynchronous threads.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a