我在我的WPF应用程序中有以下代码:
Task task = Task.Factory.StartNew(() => {
DoInitialProcess();
});
task.ContinueWith(t =>
Dispatcher.BeginInvoke((Action)(() => {
MessageBox.Show("Error: " + t.Exception.InnerExceptions[0].Message);
})), TaskContinuationOptions.OnlyOnFaulted);
如果发生异常,它可以成功触发继续并显示消息框,但它不会阻塞主UI线程。
为什么它不会阻塞主UI线程,以及使其阻塞的最佳方法是什么?