MSSQLおよびPostrgeSQLデータベースからデータを取得して、定期的に(1時間ごとに)MySQLデータベースにデータを入力しようとしています。
私が行った調査に基づいて、C#タイマーを使用してそれを実行したいと思います。しかし、私はタイマーがどのように機能するかを完全には理解していません。Page_Loadで宣言し、経過したイベントハンドラーを設定し、イベントハンドラーからメソッドを呼び出します。
protected void Page_Load(object sender, EventArgs e)
{
int duration = 100 * 60 * 5; //milliseconds * seconds * minutes
// Create a timer with a two second interval.
System.Timers.Timer timer = new System.Timers.Timer(duration);
// Hook up the Elapsed event for the timer.
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
timer.Enabled = true;
}
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
cf();
}
これは機能しますが...
問題は、この方法では、ページがロードされるたびにタイマーが初期化されることです。一度だけ初期化され、再初期化されずにその瞬間から実行し続けるタイマーを作成するにはどうすればよいですか。また、タイマーまたはメソッドが失敗した場合、例外をスローした場合、またはサーバーがダウンした場合、どのように対処すればよいですか?その後、タイマーを再起動するにはどうすればよいですか?
どんな洞察も役に立ちます!前もって感謝します!