ExecutionContext Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Administra el contexto de ejecución para el subproceso actual. Esta clase no puede heredarse.
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 único contenedor para toda la información relevante para un subproceso lógico de ejecución. En .NET Framework, esto incluye el contexto de seguridad, el contexto de llamada y el contexto de sincronización. 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. Además, 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. Para obtener más información, vea ExecutionContext frente a SynchronizationContext.
La ExecutionContext clase proporciona la funcionalidad para que el código de usuario capture y transfiera este contexto a través de puntos asincrónicos definidos por el usuario. Common Language Runtime garantiza que ExecutionContext se transfiera de forma coherente entre puntos asincrónicos definidos por el tiempo de ejecución dentro del proceso administrado.
- Lo siguiente solo se aplica a .NET Framework. -
Un contexto de ejecución es el equivalente administrado de un apartamento COM. Dentro de un dominio de aplicación, se debe transferir todo el contexto de ejecución cada vez que se transfiere un subproceso. Esta situación se produce durante las transferencias realizadas por el método , la Thread.Start mayoría de las operaciones del grupo de subprocesos y Windows Forms serialización de subprocesos a través de la bomba de mensajes de Windows. No se produce en operaciones de grupo de subprocesos no seguros (como el UnsafeQueueUserWorkItem método ), que no transfieren la pila comprimida. Siempre que fluya la pila comprimida, la entidad de seguridad administrada, la sincronización, la configuración regional y el contexto de usuario también fluyen. La ExecutionContext clase proporciona los Capture métodos y CreateCopy para obtener el contexto de ejecución y el Run método para establecer el contexto de ejecución para el subproceso actual.
Un ExecutionContext objeto asociado a un subproceso no se puede establecer en otro subproceso. Si intenta hacerlo, se producirá una excepción. Para propagar el ExecutionContext de un subproceso a otro, realice una copia de .ExecutionContext
Internamente, almacena ExecutionContext todos los datos asociados a LogicalCallContext. Esto permite que los LogicalCallContext datos se propaguen cuando ExecutionContext se copian y transfieren.
Métodos
Capture() |
Captura el contexto de ejecución del subproceso actual. |
CreateCopy() |
Crea una copia del contexto de ejecución actual. |
Dispose() |
Libera todos los recursos usados por la instancia actual de la clase ExecutionContext. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (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. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
IsFlowSuppressed() |
Indica si el flujo del contexto de ejecución está suprimido en este momento. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
Restore(ExecutionContext) |
Restaura un contexto de ejecución capturado en en el subproceso actual. |
RestoreFlow() |
Restaura el flujo del contexto de ejecución entre subprocesos asincrónicos. |
Run(ExecutionContext, ContextCallback, Object) |
Ejecuta un método en un contexto de ejecución especificado en el subproceso actual. |
SuppressFlow() |
Suprime el flujo del contexto de ejecución entre subprocesos asincrónicos. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |