Existe uma maneira 'padrão' de especificar que uma continuação de tarefa deve ser executada no thread a partir do qual a tarefa inicial foi criada?
Atualmente, tenho o código abaixo - ele está funcionando, mas acompanhar o despachante e criar uma segunda ação parece uma sobrecarga desnecessária.
dispatcher = Dispatcher.CurrentDispatcher;
Task task = Task.Factory.StartNew(() =>
{
DoLongRunningWork();
});
Task UITask= task.ContinueWith(() =>
{
dispatcher.Invoke(new Action(() =>
{
this.TextBlock1.Text = "Complete";
}
});
Control.Invoke(Action)
, ie.TextBlock1.Invoke
em vez dedispatcher.Invoke