Junior — Middle
Hogyan használhatja a CancellationToken-t az aszinkron műveletek leállítására a projektjében?
sobes.tech MI
Válasz az MI-től
A CancellationToken C#-ban az aszinkron műveletek megszakítására szolgál, lehetővé téve a feladatok kérés szerinti helyes megszakítását.
A projektben a CancellationToken átadható olyan módszereknek, amelyek támogatják a megszakítást, és ellenőrizhető az állapota az aszinkron kódban. Ha a token jelzi a megszakítást, a műveletnek idő előtt be kell fejeződnie, felszabadítva az erőforrásokat.
Használati példa:
public async Task LoadDataAsync(CancellationToken cancellationToken)
{
for (int i = 0; i < 10; i++)
{
cancellationToken.ThrowIfCancellationRequested();
await Task.Delay(1000); // munka szimulálása
}
}
// Hívás megszakítási lehetőséggel
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);
// Megszakítás 3 másodperc után
cts.CancelAfter(3000);
try
{
await task;
}
catch (OperationCanceledException)
{
Console.WriteLine("A művelet megszakadt");
}
Ez a megközelítés rugalmasan kezeli az aszinkron feladatok futási idejét, és javítja az alkalmazás válaszkészségét.