У меня есть службы Windows, который запускает задачу при запускекак отменить задачу быстрее
Эта задача, которая имеет время цикла и после выполнения одной итерации это пойти спать в течение 5 минут.
Когда я останавливаю обслуживание, задача отмены первой и позже некоторые другие операции получают выполняются
если задача находится в режиме сна, он отменен только тогда, когда он просыпается, я хочу, чтобы это было отменено, даже если он спит и не хочет дождаться его пробуждения.
Ниже приведен код
Task controllerTask = Task.Factory.StartNew(() =>
{
var interval = 300;
while(true)
{
if (cancellationToken.IsCancellationRequested)
break;
Thread.Sleep(interval * 1000);
if (cancellationToken.IsCancellationRequested)
break;
//SOME WORK HERE
}
}, cancellationToken);
Есть ли способ?
EDIT: Я не могу использовать Task.Delay, я не могу найти его в System.Threading.Tasks.Task пространстве имен, потому что я использую .NET Framework 4.0 не 4,5
Есть ли другое лучшее решение, которое работает с 4.0.
Он отлично поработал –