ControlledExecution.Run(Action, CancellationToken) Méthode

Définition

Attention

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

Exécute du code qui peut être abandonné de façon asynchrone.

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)

Paramètres

action
Action

Délégué qui représente le code à exécuter.

cancellationToken
CancellationToken

Jeton d’annulation qui peut être utilisé pour abandonner l’exécution.

Attributs

Exceptions

La méthode n’est pas prise en charge sur cette plateforme.

L’argument action est null.

Le thread actuel exécute déjà la Run(Action, CancellationToken) méthode.

L’exécution a été abandonnée.

Remarques

Cette méthode permet d’arrêter le code managé arbitraire de manière non coopérative en lève une exception dans le thread exécutant ce code. Bien que l’exception puisse être interceptée par le code, elle est levée à la fin des blocs jusqu’à ce que le flux d’exécution catch retourne à la ControlledExecution.Run méthode.

L’exécution du code n’est pas garantie d’abandonner immédiatement ou du tout. Cette situation peut se produire, par exemple, si un thread est bloqué lors de l’exécution d’un code non managé ou des catchfinally blocs appelés dans le cadre de la procédure d’abandon, ce qui retarde indéfiniment l’abandon. En outre, l’exécution peut ne pas être abandonnée immédiatement si le thread exécute actuellement un ou finally un catch bloc.

L’abandon du code à un emplacement inattendu peut endommager l’état des structures de données dans le processus et entraîner des résultats imprévisibles. Pour cette raison, cette méthode ne doit pas être utilisée dans le code de production et l’appeler génère un avertissement au moment de la compilation.

S’applique à