Junior — Middle
Comment peut-on utiliser CancellationToken pour annuler des opérations asynchrones dans votre projet?
sobes.tech IA
Réponse de l'IA
CancellationToken en C# est utilisé pour annuler des opérations asynchrones, permettant d’interrompre correctement l’exécution d’une tâche sur demande.
Dans un projet, vous pouvez transmettre CancellationToken aux méthodes qui supportent l’annulation et vérifier son état dans le code asynchrone. Si le jeton signale une annulation, l’opération doit se terminer prématurément, libérant ainsi les ressources.
Exemple d’utilisation :
public async Task LoadDataAsync(CancellationToken cancellationToken)
{
for (int i = 0; i < 10; i++)
{
cancellationToken.ThrowIfCancellationRequested();
await Task.Delay(1000); // simulation de travail
}
}
// Appel avec possibilité d’annulation
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);
// Annulation après 3 secondes
cts.CancelAfter(3000);
try
{
await task;
}
catch (OperationCanceledException)
{
Console.WriteLine("L’opération a été annulée");
}
Cette approche permet de gérer de manière flexible le temps d’exécution des tâches asynchrones et améliore la réactivité de l’application.