Я пытался использовать Task.Factory.ContinueWhenAll () несколько раз сейчас с намерением вызвать продолжение только тогда, когда все предшествующие версии завершаются без каких-либо ошибок или отмен.Это приводит к генерации ArgumentOutOfRangeException с сообщением,
Недопустимо исключать определенные типы продолжений для продолжений из нескольких задач.Имя параметра: continueationOptions
Например, код
var first = Task.Factory.StartNew<MyResult>(
DoSomething,
firstInfo,
tokenSource.Token);
var second = Task.Factory.StartNew<MyResult>(
DoSomethingElse,
mystate,
tokenSource.Token);
var third = Task.Factory.ContinueWhenAll(
new[] { first, second },
DoSomethingNowThatFirstAndSecondAreDone,
tokenSource.Token,
TaskContinuationOptions.OnlyOnRanToCompletion, // not allowed!
TaskScheduler.FromCurrentSynchronizationContext());
недопустим для TPL.Есть ли способ сделать что-то подобное, используя другой метод TPL?