Exemple #1
0
        /// <summary>
        /// Communicates a request for cancellation.
        /// </summary>
        public void Cancel()
        {
            lock (locker)
            {
                if (IsCancellationRequested || !TaskStatesChecker.IsPendingOrWorking(State))
                {
                    return;
                }
                State = TaskStates.Cancelling;
            }

            try
            {
                OnCancel();
            }
            catch (OperationCanceledException)
            {
            }

            CancellationRequested?.Invoke(this, new EventArgs());
        }
Exemple #2
0
 internal async Task DoRequestCancellation()
 {
     CancellationRequested?.Invoke(this, EventArgs.Empty);
     await Task.CompletedTask.ConfigureAwait(false);
 }
 protected virtual void OnCancellationRequested()
 {
     CancellationRequested?.Invoke(null, new AutomaticCancellationEventArgs(cancellationResons));
 }
Exemple #4
0
 private void RaiseCancellationRequestedEvent()
 {
     CancellationRequested?.Invoke(this, EventArgs.Empty);
 }