Junior — Middle
Cum puteți folosi CancellationToken pentru a anula operațiile asincrone din proiectul dvs.?
sobes.tech AI
Răspuns de la AI
CancellationToken în C# este utilizat pentru a anula operațiuni asincrone, permițând întreruperea corectă a unei sarcini la cerere.
În proiect, se poate transmite CancellationToken către metodele care suportă anularea și se verifică starea sa în codul asincron. Dacă tokenul semnalează anularea, operațiunea trebuie să se încheie anticipat, eliberând resurse.
Exemplu de utilizare:
public async Task LoadDataAsync(CancellationToken cancellationToken)
{
for (int i = 0; i < 10; i++)
{
cancellationToken.ThrowIfCancellationRequested();
await Task.Delay(1000); // simulare de lucru
}
}
// Apel cu posibilitatea de anulare
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);
// Anulare după 3 secunde
cts.CancelAfter(3000);
try
{
await task;
}
catch (OperationCanceledException)
{
Console.WriteLine("Operațiunea a fost anulată");
}
Această abordare permite gestionarea flexibilă a timpului de execuție al sarcinilor asincrone și îmbunătățește capacitatea de răspuns a aplicației.