后台任务涉及网络 I/O、磁盘 I/O 或其他可能或可能不通过网络发生的长时间运行的任务。它通常会与更新 GUI 的代码混合在一起,而后者需要在另一个线程(GUI 线程)上运行。
简单的意思是,当打开 Form.cs 文件时,源代码比以前更容易或更容易阅读。实际上,源代码流仍然必须按照代码执行的顺序顺序读取,无论它在哪个线程上执行。所有支撑结构必须可重复使用并隐藏在某个地方,而不是包含在每个表格中。
谷歌搜索MSDN:发现微软官方认可的解决方案是System.ComponentModel.BackgroundWorker,它在第二点上(非常!)不足。
(System.Windows.Threading.Dispatcher 中还有一个官方认可的 Silverlight/XAML/3.5 解决方案模型。)