В каком-то классе я хочу асинхронно загрузить 2 коллекции с помощью Task и остановить индикатор занятости
Я пробую Что-то вроде этого
var uiScheduler = TaskScheduler.FromCurrentSynchronizationContext();
WaitingIndicatorViewModel.IsBusy = true;
var loadData1 = new Task<ObservableCollection<Data1>>(GetData1FromService).ContinueWith(t => Data1Collection = t.Result, uiScheduler);
var loadData2 = new Task<ObservableCollection<Data2>>(GetData2FromService).ContinueWith(t => Data2Collection = t.Result, uiScheduler);
Task.Factory.StartNew(() =>{
loadData1.Start();//<--Exception here
loadData2.Start();
Task.WaitAll(loadData1, loadData2);
})
.ContinueWith(o => WaitingIndicatorViewModel.IsBusy = false, uiScheduler);
Но это вызывает исключение InvalidOperationException: Start не может быть вызван в продолжении задача.
Почему это не работает, и как я могу запустить задачу продолжения после завершения обеих задач, не блокируя текущий поток?