private async Task ExecuteTimeConsumingAsync(TaskExecutionOption option) { var pt = option.PauseToken; var ct = option.CancellationToken; for (var i = 0; i < 1000; i++) { await pt.WaitWhilePausedAsync(); if (!ct.IsCancellationRequested) { await Task.Delay(100); } } }
private async Task ExecuteAsync(string parameter, TaskExecutionOption option) { var progress = _loadProgress; progress.Report(0); for (var i = 0; i < 100; i++) { var pt = option.PauseToken; await pt.WaitWhilePausedAsync(); if (!option.CancellationToken.IsCancellationRequested) { await Task.Delay(1000, option.CancellationToken); progress.Report(i * 1); } } }
private Task ExecuteAsync(TaskExecutionOption option) { return(Task.Delay(100)); }