ExecutionContext Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Gerencia o contexto de execução do thread atual. Essa classe não pode ser herdada.
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
- Herança
-
ExecutionContext
- Atributos
- Implementações
Comentários
A ExecutionContext classe fornece um único contêiner para todas as informações relevantes para um thread lógico de execução. Em .NET Framework, isso inclui contexto de segurança, contexto de chamada e contexto de sincronização. No .NET Core, o contexto de segurança e o contexto de chamada não têm suporte, no entanto, o contexto de representação e a cultura normalmente fluiriam com o contexto de execução. Também no .NET Core, o contexto de sincronização não flui com o contexto de execução, enquanto em .NET Framework ele pode, em alguns casos. Para obter mais informações, consulte ExecutionContext vs SynchronizationContext.
A ExecutionContext classe fornece a funcionalidade para o código do usuário capturar e transferir esse contexto entre pontos assíncronos definidos pelo usuário. O common language runtime garante que ele ExecutionContext seja transferido consistentemente entre pontos assíncronos definidos por runtime dentro do processo gerenciado.
- O seguinte é aplicável somente a .NET Framework. -
Um contexto de execução é o equivalente gerenciado de um apartamento COM. Dentro de um domínio de aplicativo, todo o contexto de execução deve ser transferido sempre que um thread é transferido. Essa situação ocorre durante transferências feitas pelo método, a maioria das Thread.Start operações do pool de threads e Windows Forms marshaling de threads por meio da bomba de mensagem Windows. Ele não ocorre em operações não seguras do pool de threads (como o UnsafeQueueUserWorkItem método), que não transferem a pilha compactada. Onde quer que a pilha compactada flua, a entidade de segurança gerenciada, a sincronização, a localidade e o contexto do usuário também fluem. A ExecutionContext classe fornece o e CreateCopy os Capture métodos para obter o contexto de execução e o Run método para definir o contexto de execução para o thread atual.
Um ExecutionContext associado a um thread não pode ser definido em outro thread. A tentativa de fazer isso resultará na geração de uma exceção. Para propagar de ExecutionContext um thread para outro, faça uma cópia do ExecutionContext.
Internamente, os ExecutionContext armazenamentos de todos os dados associados ao LogicalCallContext. Isso permite que os LogicalCallContext dados sejam propagados quando eles ExecutionContext são copiados e transferidos.
Métodos
Capture() |
Captura o contexto de execução do thread atual. |
CreateCopy() |
Cria uma cópia do contexto de execução atual. |
Dispose() |
Libera todos os recursos usados pela instância atual da classe ExecutionContext. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Define o objeto SerializationInfo especificado com as informações lógicas do contexto necessárias para recriar uma instância do contexto de execução atual. |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
IsFlowSuppressed() |
Indica se o fluxo do contexto de execução está suprimido no momento. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
Restore(ExecutionContext) |
Restaura um contexto de execução capturado no thread atual. |
RestoreFlow() |
Restaura o fluxo do contexto de execução em threads assíncronos. |
Run(ExecutionContext, ContextCallback, Object) |
Executa um método em um contexto de execução especificado no thread atual. |
SuppressFlow() |
Suprime o fluxo do contexto de execução em threads assíncronos. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |