たとえば、特定の時間間隔 (毎時または毎日のタスク) で関数を呼び出したいとします。
私はすでにタイマーを使用しています。しかし、ローカル サーバーが動作している限り動作しています。例えば:
public static void StartYahooWeatherManager()
{
Timer t = new Timer(1000 * 60 * 60 * 6 /* 6 hours */);
t.Elapsed += new ElapsedEventHandler(WriteYahoWeatherRssItemToDb);
t.Start();
}
private static void WriteYahoWeatherRssItemToDb(object o, ElapsedEventArgs e)
{
YahooWeatherManager.InsertYahooWeatherRssItem(YahooWeatherManager.GetYahooWeatherRssItem());
}
天気情報を 6 時間間隔で db に書き込みます。プロジェクトはすでにホストにあります。コンピューターのローカル サーバーが実行されている限り、タイマー イベントは機能します。
質問:
私のコードのどこが間違っていますか? (または、WebProject でタイマーを使用するのは論理的に間違っていますか?) ローカル サーバーが動作している間だけタイマーが動作するのはなぜですか?
時間間隔のタスクを管理する最良の方法は何ですか? (asp.net は必要ありません)
問題を説明できることを願っています。ありがとう。