Junior — Middle
Layihənizdə asinxron əməliyyatları ləğv etmək üçün CancellationToken-dan necə istifadə edə bilərsiniz?
sobes.tech Süni İntellekt
AI-dan cavab
C#-də CancellationToken, asinxron əməliyyatların ləğv edilməsi üçün istifadə olunur və istək əsasında tapşırığın düzgün şəkildə dayandırılmasına imkan verir.
Layihədə, CancellationToken-ləri ləğv etməyi dəstəkləyən metodlara ötürmək və onun vəziyyətini asinxron kod daxilində yoxlamaq mümkündür. Əgər token ləğv etmə siqnalı verirsə, əməliyyat vaxtından əvvəl tamamlanmalı və resurslar azad edilməlidir.
İstifadə nümunəsi:
public async Task LoadDataAsync(CancellationToken cancellationToken)
{
for (int i = 0; i < 10; i++)
{
cancellationToken.ThrowIfCancellationRequested();
await Task.Delay(1000); // işin simulyasiyası
}
}
// Ləğv etmə imkanı ilə çağırış
var cts = new CancellationTokenSource();
var task = LoadDataAsync(cts.Token);
// 3 saniyə sonra ləğv et
cts.CancelAfter(3000);
try
{
await task;
}
catch (OperationCanceledException)
{
Console.WriteLine("Əməliyyat ləğv edildi");
}
Bu yanaşma, asinxron tapşırıqların icra vaxtını elastik şəkildə idarə etməyə və tətbiqin cavabvermə qabiliyyətini artırmağa imkan verir.