초기 작업이 생성 된 스레드에서 작업 계속을 실행하도록 지정하는 '표준'방법이 있습니까?
현재 아래 코드가 있습니다. 작동하지만 디스패처를 추적하고 두 번째 액션을 만드는 것은 불필요한 오버 헤드처럼 보입니다.
dispatcher = Dispatcher.CurrentDispatcher;
Task task = Task.Factory.StartNew(() =>
{
DoLongRunningWork();
});
Task UITask= task.ContinueWith(() =>
{
dispatcher.Invoke(new Action(() =>
{
this.TextBlock1.Text = "Complete";
}
});
@ColonelPanic에게 감사하지만 winforms가 아닌 WPF (태그가있는)를 사용하고있었습니다.
—
Greg Sansom
Control.Invoke(Action)
.TextBlock1.Invoke
오히려dispatcher.Invoke