private void buttonPause_Click(object sender, EventArgs e) { if (!paused) { buttonPause.Text = "Возобновить"; myPause.Pause(); paused = true; OnTimerPause(); } else { buttonPause.Text = "Пауза"; myPause.Resume(); paused = false; OnTimerResume(); } }
// Testing static async Task Test() { var pts = new PauseTokenSource(); var task = SomeMethodAsync(pts.Token); Console.WriteLine("Press enter to pause..."); Console.ReadLine(); // sync version Console.WriteLine("Before pause requested"); 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); Console.WriteLine("Press enter to resume..."); Console.ReadLine(); pts.Resume(); // async pause request: pts.Pause(); Console.WriteLine("Press enter to pause..."); Console.ReadLine(); Console.WriteLine("Before pause requested"); pts.Pause(); Console.WriteLine("After pause requested, paused: " + pts.Token.IsPaused); Console.WriteLine("Press enter to resume after the task has confirmed paused..."); Console.ReadLine(); Console.WriteLine("Paused: " + pts.Token.IsPaused); pts.Resume(); }
/// <summary> /// Pause send mail /// </summary> public void PauseSendBulkMail() { _pauseTokenSource.Pause(); }