CancellationToken и CancellationTokenSource были добавлены в .net в 4.0 и с тех пор составляют основу для общего шаблона отмены.Как правило, асинхронные методы имеют перегрузку, которая принимает CancellationToken.
Потребители CancellationTokens могут зарегистрироваться для обратного вызова, когда токен отменяется, и использовать обратный вызов для прекращения выполнения.В качестве альтернативы, если задача не особенно долго выполняется, свойство IsCanceled можно просто периодически опрашивать.
CancellationToken - это интерфейс, используемый асинхронной задачей, инициатор задачи использует CancellationTokenSource для выдачи этого токена.и может затем отменить его в будущем.
Одна из приятных сторон этого подхода, помимо того, что он становится стандартным способом подхода к отмене, состоит в том, что он является составным.Если задача состоит из нескольких других отменяемых асинхронных операций, один и тот же токен отмены может быть передан им, и отмена должна автоматически сработать.