后台任务是涉及网络 I/O、磁盘 I/O 或其他长时间运行的任务,这些任务可能会或可能不会通过网络发生。它通常会与更新 GUI 的代码混合在一起,这些代码需要在另一个线程(GUI 线程)上运行。
简单的意思是,当打开 Form.cs 文件时,源代码比以前更容易或更容易阅读。实际上,源代码的流程仍然必须按照代码执行的顺序顺序读取,而不管它在哪个线程上执行。所有支撑结构都必须可重复使用并隐藏在某处,而不是包含在每个表单中。
谷歌搜索 MSDN:发现微软官方认可的解决方案是 System.ComponentModel.BackgroundWorker,它在第二点上(非常!)不足。
(在 System.Windows.Threading.Dispatcher 中还有一个官方认可的 Silverlight/XAML/3.5 解决方案模型。)
最佳答案
如果你真的不喜欢 BackgroundWorker,你可以像我一样为后台操作创建自己的基类 here .
关于.net - 在 Windows.Forms 中执行后台任务的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1524854/