我的印象是使用Task的ContinueWith方法与UI上下文允许在UI元素上执行操作而不会导致跨线程异常。但是,在运行以下代码时,我仍然遇到异常:任务ContinueWith尽管UI上下文导致跨线程异常
var context = TaskScheduler.FromCurrentSynchronizationContext();
Task<SomeResultClass>.Factory.StartNew(SomeWorkMethod).ContinueWith((t) =>
{
myListControl.Add(t.Result); // <-- this causes an exception
}, context);
任何想法?
任何你不使用'Invoke'来访问UI控件的原因? – Yahia
你是从调度员的线程开始执行任务吗?如果不是这样可以解释它。 – BrokenGlass