ControlledExecution.Run(Action, CancellationToken) Metod

Definition

Varning

ControlledExecution.Run method may corrupt the process and should not be used in production code.

Kör kod som kan avbrytas asynkront.

public:
 static void Run(Action ^ action, System::Threading::CancellationToken cancellationToken);
[System.Obsolete("ControlledExecution.Run method may corrupt the process and should not be used in production code.", DiagnosticId="SYSLIB0046", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static void Run(Action action, System.Threading.CancellationToken cancellationToken);
[<System.Obsolete("ControlledExecution.Run method may corrupt the process and should not be used in production code.", DiagnosticId="SYSLIB0046", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member Run : Action * System.Threading.CancellationToken -> unit
Public Shared Sub Run (action As Action, cancellationToken As CancellationToken)

Parametrar

action
Action

Ombudet som representerar koden som ska köras.

cancellationToken
CancellationToken

Den annulleringstoken som kan användas för att avbryta körningen.

Attribut

Undantag

Metoden stöds inte på den här plattformen.

Argumentet action är null.

Den aktuella tråden Run(Action, CancellationToken) kör redan metoden.

Körningen avbröts.

Kommentarer

Den här metoden gör det möjligt att avbryta godtycklig hanterad kod på ett icke-samarbetsbaserat sätt genom att utlösa ett undantag i tråden som kör koden. Även om undantaget kan fångas av koden genereras det igen i slutet av catch blocken tills körningsflödet återgår till ControlledExecution.Run metoden.

Körningen av koden är inte garanterad att avbrytas omedelbart eller alls. Den här situationen kan till exempel inträffa om en tråd har fastnat och kör ohanterad kod eller blocken catch och finally som anropas som en del av abortproceduren, vilket på obestämd tid fördröjer avbrottet. Dessutom kanske körningen inte avbryts omedelbart om tråden för närvarande kör ett catch eller finally ett block.

Om kod avbryts på en oväntad plats kan datastrukturernas tillstånd skadas i processen och leda till oförutsägbara resultat. Av den anledningen bör den här metoden inte användas i produktionskoden och om du anropar den genereras en kompileringstidsvarning.

Gäller för