Я просто хочу получить данные асинхронно, и после получения данных показать их в пользовательском интерфейсе (Winforms).
Используя .net 4.0, есть 2 способа, которыми я могу это реализовать (я знаю, что их больше, но я использую эти два):
var task = Task.Factory.StartNew(() => RetrieveData());
task.ContinueWith(x => SetDataInUi(x.Result), TaskScheduler.FromCurrentSynchronizationContext());
ИЛИ
var obs = Observable.Start(() => RetrieveData());
obs.ObserveOn(SynchronizationContext.Current).Subscribe(x => SetDataInUi(x));
Насколько я понимаю, они оба будут делать одно и то же. Есть ли причина выбрать один из них?