2つのC#winform(.NET 4.0)フォームがあり、それぞれが別々ですが同様の自動化されたタスクを継続的に実行します。それらは別個のプロセス/ワークフローであるという点で分離されていますが、プロジェクト内の同じリソース(メソッド、データモデル、アセンブリなど)を共有するためにそれらがどのように動作するかについては十分に類似しています。
どちらのフォームも完成していますが、起動時に各ウィンドウが開き、独立して実行されるようにプログラムを実行する方法がわかりません。プログラムは、展開時に「常時オン」になります。
これは少し基本的なことのように思えるかもしれませんが、私の開発経験のほとんどはWebアプリケーションです。糸脱毛/etcはまだ私には少し異質です。私は調査しましたが、私が見つけた答えのほとんどは、ユーザーとの対話と順次のユースケースに関連しています。これは、2つの異なるプロセスを継続的に実行する1つのシステムであり、世界と独立して対話する必要があります。
私が見つけた潜在的な解決策には、マルチスレッド、またはある種の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());
}
}