ExecutionContext Classe

Definição

Gere o contexto de execução do thread atual. Esta classe não pode ser herdada.

public ref class ExecutionContext sealed
public ref class ExecutionContext sealed : System::Runtime::Serialization::ISerializable
public ref class ExecutionContext sealed : IDisposable, System::Runtime::Serialization::ISerializable
public sealed class ExecutionContext
[System.Serializable]
public sealed class ExecutionContext : System.Runtime.Serialization.ISerializable
[System.Serializable]
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
public sealed class ExecutionContext : IDisposable, System.Runtime.Serialization.ISerializable
type ExecutionContext = class
[<System.Serializable>]
type ExecutionContext = class
    interface ISerializable
[<System.Serializable>]
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
type ExecutionContext = class
    interface IDisposable
    interface ISerializable
Public NotInheritable Class ExecutionContext
Public NotInheritable Class ExecutionContext
Implements ISerializable
Public NotInheritable Class ExecutionContext
Implements IDisposable, ISerializable
Herança
ExecutionContext
Atributos
Implementações

Observações

A ExecutionContext classe fornece um único contentor para toda a informação relevante para um fio lógico de execução. No .NET Framework, isto 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 são suportados, no entanto, o contexto e a cultura de personificação normalmente fluem 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 no .NET Framework pode, em alguns casos. Para mais informações, veja ExecutionContext vs SynchronizationContext.

A ExecutionContext classe fornece a funcionalidade para que o código do utilizador capture e transfira este contexto através de pontos assíncronos definidos pelo utilizador. O runtime da linguagem comum garante que o ExecutionContext é consistentemente transferido entre pontos assíncronos definidos em tempo de execução dentro do processo gerido.

  • O seguinte aplica-se apenas ao .NET Framework. -

Um contexto de execução é o equivalente gerido a um apartamento COM. Dentro de um domínio de aplicação, todo o contexto de execução deve ser transferido sempre que um thread é transferido. Esta situação ocorre durante transferências feitas pelo método Thread.Start, na maioria das operações de pool de threads e no marshaling de threads Windows Forms através da Windows message pump. Não ocorre em operações de pool de threads inseguras (como o UnsafeQueueUserWorkItem método), que não transferem a pilha comprimida. Onde quer que a pilha comprimida flua, o principal gerido, a sincronização, a localização e o contexto do utilizador também fluem. A ExecutionContext classe fornece os Capture métodos e CreateCopy 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 que está associado a um thread não pode ser definido noutro thread. Tentar fazê-lo resultará na abertura de uma exceção. Para propagar o ExecutionContext de um fio para outro, faça uma cópia do ExecutionContext.

Internamente, o ExecutionContext armazena todos os dados associados ao LogicalCallContext. Isto permite que os LogicalCallContext dados sejam propagados quando são ExecutionContext copiados e transferidos.

Métodos

Name Description
Capture()

Captura o contexto de execução do thread atual.

CreateCopy()

Cria uma cópia do contexto de execução atual.

Dispose()

Liberta todos os recursos usados pela instância atual da ExecutionContext classe.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Define o objeto especificado SerializationInfo com a informação lógica de contexto necessária 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á atualmente suprimido.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
RestoreFlow()

Restaura o fluxo do contexto de execução através de threads assíncronas.

Run(ExecutionContext, ContextCallback, Object)

Executa um método num contexto de execução especificado no thread atual.

SuppressFlow()

Suprime o fluxo do contexto de execução através de threads assíncronas.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a