我有两个 C# winform (.NET 4.0) 表单,每个表单都连续运行单独但相似的自动化任务。分开是因为它们是不同的流程/工作流,但它们的操作方式足够相似以在项目中共享相同的资源(方法、数据模型、程序集等)。
两种形式都是完整的,但现在我不确定如何运行程序,以便每个窗口在启动时打开并独立运行。该程序在部署时将“永远在线”。
这可能看起来有点基础,但我的大部分开发经验都是 Web 应用程序。线程/等对我来说还是有点陌生。我已经研究过,但我发现的大多数答案都与用户交互和顺序用例有关——这只是一个系统不断运行两个不同的进程,它们需要独立地与世界交互。
我发现的潜在解决方案可能涉及多线程,或者某种 MDI,或者一些人建议使用 DockPanelSuite(虽然在超级企业环境中,下载第三方文件说起来容易做起来难)。
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// Rather than specifying frmOne or frmTwo,
// load both winforms and keep them running.
Application.Run(new frmOne());
}
}