using System.Threading.Tasks;
CancellationTokenSource cts = new CancellationTokenSource();
Task longRunningTask = LongRunningOperationAsync(cts.Token);
catch (OperationCanceledException)
Console.WriteLine("Operation was canceled.");
static async Task LongRunningOperationAsync(CancellationToken token)
for (int i = 0; i < 10; i++)
token.ThrowIfCancellationRequested();
Console.WriteLine($"Working... {i + 1}/10");
Console.WriteLine("Operation completed successfully.");