特定の間隔でメールボックスを読み取るために使用されるアプリケーションを作成しました。新しいメールがある場合は、添付ファイルをダウンロードして pdf ファイルを作成し、100 以上のメールを結合して特定のリストに送り返します。一部のサーバー ポリシーにより、ウィンドウ サービスに変換する立場にあります。以下のコードでタイマーを使用しました
private System.Threading.Timer timer;
timer = new System.Threading.Timer(TimerTick, null, TimeSpan.Zero, TimeSpan.FromMinutes(1));
void TimerTick(object state)
{
var minute = DateTime.Now.Minute;
if (minute != lastMinute && minute % 5 == 0)
{
//check mail here
}
}
このようなタイマーの実装は効率的な方法ですか? これを処理するより良い方法はありますか?アプリケーションは 24 x7 で実行する必要があり、非効率な場合はより多くの CPU メモリを使用することになるため、パフォーマンスが心配です。
このシナリオで利用できる唯一の最適なオプションはタイマーですか?