Udostępnij za pośrednictwem


ExecutionContext Klasa

Definicja

Zarządza kontekstem wykonywania dla bieżącego wątku. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
ExecutionContext
Atrybuty
Implementuje

Uwagi

Klasa ExecutionContext udostępnia jeden kontener dla wszystkich informacji istotnych dla logicznego wątku wykonywania. W .NET Framework obejmuje to kontekst zabezpieczeń, kontekst wywołania i kontekst synchronizacji. W programie .NET Core kontekst zabezpieczeń i kontekst wywołania nie są obsługiwane, jednak kontekst personifikacji i kultura zwykle przepływają z kontekstem wykonywania. Również na platformie .NET Core kontekst synchronizacji nie przepływa z kontekstem wykonywania, podczas gdy w .NET Framework może w niektórych przypadkach. Aby uzyskać więcej informacji, zobacz ExecutionContext vs SynchronizationContextContext.

Klasa ExecutionContext zapewnia funkcjonalność kodu użytkownika do przechwytywania i transferu tego kontekstu między punktami asynchronicznymi zdefiniowanymi przez użytkownika. Środowisko uruchomieniowe języka wspólnego zapewnia, że ExecutionContext środowisko uruchomieniowe jest spójnie przenoszone między punktami asynchronicznymi zdefiniowanymi w czasie wykonywania w ramach zarządzanego procesu.

  • Poniżej obowiązuje tylko .NET Framework. -

Kontekst wykonywania jest zarządzanym odpowiednikiem mieszkania COM. W domenie aplikacji cały kontekst wykonywania musi zostać przeniesiony za każdym razem, gdy wątek zostanie przeniesiony. Taka sytuacja występuje podczas transferów wykonywanych przez metodęThread.Start, większość operacji puli wątków i Windows Forms marshaling wątku przez pompę komunikatów Windows. Nie występuje w niebezpiecznych operacjach puli wątków (takich jak UnsafeQueueUserWorkItem metoda), które nie przesyłają skompresowanego stosu. Wszędzie tam, gdzie przepływa skompresowany stos, zarządzany podmiot zabezpieczeń, synchronizacja, ustawienia regionalne i kontekst użytkownika również przepływ. Klasa ExecutionContext udostępnia Capture metody i CreateCopy umożliwiające uzyskanie kontekstu wykonywania oraz Run metodę ustawiania kontekstu wykonywania dla bieżącego wątku.

Nie ExecutionContext można ustawić elementu skojarzonego z wątkiem w innym wątku. Próba wykonania tej czynności spowoduje zgłoszenie wyjątku. Aby propagować ExecutionContext element z jednego wątku do innego, utwórz kopię elementu ExecutionContext.

ExecutionContext Wewnętrznie program przechowuje wszystkie dane skojarzone z elementem LogicalCallContext. LogicalCallContext Umożliwia to propagację danych podczas kopiowania ExecutionContext i przesyłania.

Metody

Capture()

Przechwytuje kontekst wykonywania z bieżącego wątku.

CreateCopy()

Tworzy kopię bieżącego kontekstu wykonywania.

Dispose()

Zwalnia wszystkie zasoby używane przez bieżące wystąpienie klasy ExecutionContext.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Ustawia określony SerializationInfo obiekt z informacjami o kontekście logicznym wymaganymi do ponownego utworzenia wystąpienia bieżącego kontekstu wykonywania.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IsFlowSuppressed()

Wskazuje, czy przepływ kontekstu wykonywania jest obecnie pomijany.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Restore(ExecutionContext)

Przywraca przechwycony kontekst wykonywania do bieżącego wątku.

RestoreFlow()

Przywraca przepływ kontekstu wykonywania w wątkach asynchronicznych.

Run(ExecutionContext, ContextCallback, Object)

Uruchamia metodę w określonym kontekście wykonywania w bieżącym wątku.

SuppressFlow()

Pomija przepływ kontekstu wykonywania w wątkach asynchronicznych.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy