Если вы хотите отменить Task
, вы должны передать CancellationToken
при создании задачи. Это позволит вам отменить Task
извне. Вы можете привязать отмену к таймеру, если хотите.
Чтобы создать задачу с токеном отмены, см. Этот пример:
var tokenSource = new CancellationTokenSource();
var token = tokenSource.Token;
var t = Task.Factory.StartNew(() => {
// do some work
if (token.IsCancellationRequested) {
// Clean up as needed here ....
}
token.ThrowIfCancellationRequested();
}, token);
Чтобы отменить Task
, позвоните Cancel()
на tokenSource
.