ExecutionContext Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee beheert u de uitvoeringscontext voor de huidige thread. Deze klasse kan niet worden overgenomen.
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
- Overname
-
ExecutionContext
- Kenmerken
- Implementeringen
Opmerkingen
De ExecutionContext klasse biedt één container voor alle informatie die relevant is voor een logische thread van uitvoering. In .NET Framework omvat dit beveiligingscontext, oproepcontext en synchronisatiecontext. In .NET Core worden de beveiligingscontext en de aanroepcontext echter niet ondersteund, maar de imitatiecontext en cultuur stromen doorgaans met de uitvoeringscontext. Ook in .NET Core stroomt de synchronisatiecontext niet met de uitvoeringscontext, terwijl in .NET Framework dit in sommige gevallen kan gebeuren. Zie ExecutionContext versus SynchronizationContext voor meer informatie.
De ExecutionContext klasse biedt de functionaliteit voor gebruikerscode om deze context vast te leggen en over te dragen over door de gebruiker gedefinieerde asynchrone punten. De algemene taalruntime zorgt ervoor dat de ExecutionContext runtime consistent wordt overgedragen over door runtime gedefinieerde asynchrone punten binnen het beheerde proces.
- Het volgende is alleen van toepassing op .NET Framework. -
Een uitvoeringscontext is het beheerde equivalent van een COM-appartement. Binnen een toepassingsdomein moet de volledige uitvoeringscontext worden overgedragen wanneer een thread wordt overgedragen. Deze situatie treedt op tijdens overdrachten van de Thread.Start methode, de meeste threadpoolbewerkingen en Windows Forms thread marshaling via de Windows berichtpomp. Dit gebeurt niet in onveilige threadpoolbewerkingen (zoals de UnsafeQueueUserWorkItem methode), die de gecomprimeerde stack niet overdragen. Waar ook de gecomprimeerde stackstromen, de beheerde principal, synchronisatie, landinstelling en gebruikerscontext stromen. De ExecutionContext klasse biedt de Capture en CreateCopy methoden om de uitvoeringscontext en de Run methode op te halen voor het instellen van de uitvoeringscontext voor de huidige thread.
Een ExecutionContext thread die is gekoppeld aan een thread, kan niet worden ingesteld op een andere thread. Als u dit probeert, wordt er een uitzondering gegenereerd. Als u de van de ExecutionContext ene thread naar de andere wilt doorgeven, maakt u een kopie van de ExecutionContext.
ExecutionContext Intern worden alle gegevens opgeslagen die zijn gekoppeld aan de LogicalCallContext. Hierdoor kunnen de LogicalCallContext gegevens worden doorgegeven wanneer de ExecutionContext gegevens worden gekopieerd en overgedragen.
Methoden
| Name | Description |
|---|---|
| Capture() |
Legt de uitvoeringscontext van de huidige thread vast. |
| CreateCopy() |
Hiermee maakt u een kopie van de huidige uitvoeringscontext. |
| Dispose() |
Alle resources die door het huidige exemplaar van de ExecutionContext klasse worden gebruikt, worden vrijgegeven. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Hiermee stelt u het opgegeven SerializationInfo object in met de logische contextinformatie die nodig is om een exemplaar van de huidige uitvoeringscontext opnieuw te maken. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| IsFlowSuppressed() |
Geeft aan of de stroom van de uitvoeringscontext momenteel wordt onderdrukt. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| RestoreFlow() |
Hiermee herstelt u de stroom van de uitvoeringscontext in asynchrone threads. |
| Run(ExecutionContext, ContextCallback, Object) |
Voert een methode uit in een opgegeven uitvoeringscontext op de huidige thread. |
| SuppressFlow() |
Onderdrukt de stroom van de uitvoeringscontext in asynchrone threads. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |