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 : 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

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)
Obsoleto.

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)
Restore(ExecutionContext)

Restaura um contexto de execução capturado no thread atual.

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