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.