我的印象是使用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