Existe-t-il un moyen "standard" de spécifier qu'une suite de tâche doit être exécutée sur le fil d'exécution à partir duquel la tâche initiale a été créée ?
Actuellement, j'ai le code ci-dessous - il fonctionne mais garder la trace du distributeur et créer une deuxième action semble être une surcharge inutile.
dispatcher = Dispatcher.CurrentDispatcher;
Task task = Task.Factory.StartNew(() =>
{
DoLongRunningWork();
});
Task UITask= task.ContinueWith(() =>
{
dispatcher.Invoke(new Action(() =>
{
this.TextBlock1.Text = "Complete";
}
});
0 votes
Dans le cas de votre exemple, vous pourriez utiliser
Control.Invoke(Action)
c'est-à-dire.TextBlock1.Invoke
plutôt quedispatcher.Invoke
2 votes
Merci @ColonelPanic, mais j'utilisais WPF (comme indiqué), pas winforms.