Я работаю над частным кодом и пытаюсь отменить задачу, если она не была успешно выполнена через 60 секунд.По сути, у меня есть два объекта, скажем, Object1 и Object2, которые создаются, и их методы .Run () вызываются двумя отдельными задачами.Я хочу, чтобы объект 2 отменялся, если он не завершается через 60 секунд, пока объект1 продолжает работать .. Я пытался использовать .Dispose (), но понял, что он освобождает ресурсы и фактически не отменяет задачу.
Object1 o1 = new Object1();
var o2 = new Object2();
var o2Task = Task.Factory.StartNew(() => o2.Run());
Task.Factory.StartNew((() => o1.Run()));
if(o2Task.Wait(60000)) // Should return True if completed within time
{
Console.WriteLine("Task successfully complete");
}
else
{
o2Task.Dispose(); // This is how I thought you would cancel it
}