在WinForm项目中设置每10分钟运行一次的后台进程的最佳做法是什么?是否使用表单背景工作者?或者是否有更通用的方法适用于更多项目样式?
也许我应该在行之前调用一些代码:
Application.Run(new Form1());
答案 0 :(得分:2)
通常,如果您希望Windows窗体应用程序定期运行某些代码,则在其中一个窗体上使用Windows.Forms.Timer是处理通知的适当方法。
但是,正如您似乎已经意识到的那样,这将要求您创建并运行表单,并将您绑定到Windows窗体基础结构。
另一种替代方法是使用System.Threading.Timer类,它会在后台线程上通知您。但是,如果您使用此方法,如果您希望“进程”与用户界面交互,则需要使用某种形式的同步。如果需要,最佳平台中立方法(适用于Windows Forms + WPF)将使用SyncrhonizationContext编组回UI线程。
答案 1 :(得分:1)
您可以使用任务计划程序来安排应用程序。
如果您想在应用程序中安装计时器,可以使用计时器或使用Quartz.NET
等库。