私はいくつかのタスクを実行し、2時間ごとにレポートのメールを送信するアプリケーションに取り組んでいます。私はそれが働いている15分(ログオフ時でも)これを試してみました。しかし、もし私が30分を試しているのであれば、私の最初の郵便が送られているだけです。私のシステムがログオフされてもそれが送られるようにしたい。再起動しても、私のアプリケーションを実行したいです。私に提案してください。2時間ごとにメールを送信するアプリケーション
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Start();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 1000 * 60 * 120;
aTimer.Enabled = true;
Console.WriteLine("Application started");
Console.WriteLine("Press \'q\' to quit the sample.");
Console.ReadLine();
while (Console.Read() != 'q') ;
サーバーでこれを実行したり、Windowsサービスを使用してコードを実行したりするような音がします。 –
これをコンソールアプリケーションで行うことは不可能ではありませんが、優先的なアプローチは、** Windowsサービス**を作成することです(バックグラウンドで頻繁に実行することを意図しています)。**コンソールアプリケーションを無期限に実行するのではなく、2時間おきに(たとえば、コマンドライン経由で)コンソールアプリケーションを起動します。 – Flater
「私のシステムがログオフされてもそれを送信しますか?」とはどういう意味ですか?マシンの電源が切れたとき、またはユーザーがログアウトしたときを意味します。あなたのマシンは、スクリプトがオフになっている間はスクリプトを実行できません。 –