Comments 5
Спасибо, познавательная статья. Не подскажите, как можно грамотно зациклить выполнение задачи, т.е. реализовать что-то наподобие таймера, только без интервала ожидания?
Заморочно писать все эти продолжения, ловить ошибки и синхронизировать результаты вычислений.
Есть отличный набор экстеншенов, который используется в ASP.NET Web Stack. С их помощью можно писать вот так:
Очень помогает. Статья по теме. Код тут и тут.
Есть отличный набор экстеншенов, который используется в ASP.NET Web Stack. С их помощью можно писать вот так:
Немного кода
Task<int>.Factory.StartNew(() =>
{
// Долгая задача
Thread.Sleep(TimeSpan.FromSeconds(5));
return int.MaxValue;
})
.Then(number =>
{
// Обработка результата
Console.WriteLine("Result: {0}", number);
})
.Catch(info =>
{
// Ловим ошибки
Console.WriteLine("Error: {0}", info.Exception);
return info.Handled();
})
.Finally(() =>
{
// Завершаем
Console.WriteLine("Done.");
});
Очень помогает. Статья по теме. Код тут и тут.
Sign up to leave a comment.
Задачи и отмена в .Net — tips & tricks