Como posso cancelar o Task.WhenAll?
Atualmente, use o código a seguir para aguardar a conclusão de uma coleção de tarefas. No entanto, agora tenho uma situação em que desejo poder cancelar / abortar a chamada WhenAll, preferencialmente por meio de um token de cancelamento. Como eu faria isso?
Dim TaskCollection As New List(Of Tasks.Task)
For x As Integer = 1 To Threads
Dim NewTask As Tasks.Task = TaskHandler.Delegates(DelegateKey).Invoke(Me, Proxies, TotalParams).ContinueWith(Sub() ThreadFinished())
TaskCollection.Add(NewTask)
Next
Await Tasks.Task.WhenAll(TaskCollection)
Suponho que isso funcione, mas algo parecido com o próximo trecho de código, mas não tenho certeza do que seria 'XXX'.
Await Tasks.Task.WhenAny(Tasks.Task.WhenAll(TaskCollection), XXX)