ExecutionContext Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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) |