// Testing static async Task Test() { var pts = new PauseTokenSource(); var task = SomeMethodAsync(pts.Token); // sync version Console.WriteLine("Before pause requested"); pts.PauseWithResponseAsync().Wait(); Console.WriteLine("After pause requested, paused: " + pts.Token.IsPaused); pts.PauseWithResponseAsync().Wait(); Console.WriteLine("After pause requested, paused: " + pts.Token.IsPaused); Console.WriteLine("Press enter to resume..."); Console.ReadLine(); pts.Resume(); // async version: Console.WriteLine("Before pause requested"); await pts.PauseWithResponseAsync(); Console.WriteLine("After pause requested, paused: " + pts.Token.IsPaused); await pts.PauseWithResponseAsync(); Console.WriteLine("After pause requested, paused: " + pts.Token.IsPaused); Console.WriteLine("Press enter to resume..."); Console.ReadLine(); pts.Resume(); }
private void Pause() { _crawlerPauseTokenSource.PauseWithResponseAsync().Wait(); _crawlerService.IsPaused = true; _pauseCommand.RaiseCanExecuteChanged(); _resumeCommand.RaiseCanExecuteChanged(); }
static void Main() { var pts = new PauseTokenSource(); var task = SomeMethodAsync(pts.Token); Task.Run(() => { Console.WriteLine("Before pause requested"); pts.PauseWithResponseAsync().Wait(); Console.WriteLine("After pause requested."); pts.Resume(); }).Wait(); Console.ReadLine(); // Alternatively, async version: /* * Func<Task> func = async () => * { * Console.WriteLine("Before pause requested"); * await pts.PauseWithResponseAsync(); * Console.WriteLine("After pause requested."); * pts.Resume(); * }; * func().Wait(); * Console.ReadLine(); */ }
private void Pause() { crawlBlogsPause.PauseWithResponseAsync().Wait(); crawlerService.IsPaused = true; pauseCommand.RaiseCanExecuteChanged(); resumeCommand.RaiseCanExecuteChanged(); }