Sobes.tech
Junior — Middle

Hoe kunt u de CancellationToken gebruiken om asynchrone bewerkingen in uw project te annuleren?

sobes.tech AI

Antwoord van AI

CancellationToken in C# wordt gebruikt om asynchrone operaties te annuleren, waardoor het correct onderbreken van een taak op verzoek mogelijk is.

In een project kan CancellationToken worden doorgegeven aan methoden die annulering ondersteunen en de status ervan binnen de asynchrone code controleren. Als het token een annulering aangeeft, moet de operatie voortijdig worden beëindigd, waardoor bronnen worden vrijgegeven.

Voorbeeld van gebruik:

public async Task LoadDataAsync(CancellationToken cancellationToken)
{
    for (int i = 0; i < 10; i++)
    {
        cancellationToken.ThrowIfCancellationRequested();
        await Task.Delay(1000); // simulatie van werk
    }
}

// Aanroep met mogelijkheid tot annulering
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);

// Annuleren na 3 seconden
cts.CancelAfter(3000);

try
{
    await task;
}
catch (OperationCanceledException)
{
    Console.WriteLine("Operatie is geannuleerd");
}

Deze aanpak maakt het mogelijk om de uitvoeringstijd van asynchrone taken flexibel te beheren en verbetert de reactievermogen van de applicatie.