私の質問は同じ宛先にすることですが、別の方法が必要です。今すぐDateTime
を作成して別のDateTime
と比較し、設定した時間差が正しいかどうかを確認してください。これまでのところとても良いですが、私はループがそのコードに入るたびに新しいプロパティを作成することを受け入れることができません。Windowsサービスで定義された時間後にメソッドを実行
同じ目的地に行く方法はありますか?もっと効果的な方法ではありますか?
私はあなたたちにここにいくつかのサンプルコードだ:
private void RunService()
{
// Runs as long as the service didn't got a stop call.
while (!SetStop)
{
//Get MinutesToWait
this.MinutesToWait = 5;
DateTime CheckRunTime = this.LastRun;
CheckRunTime.AddMinutes(this.MinutesToWait);
if (DateTime.Now >= CheckRunTime)
{
// Imagine some good and smart and totally runnable code?
}
}
}
タイマーを使用することができます。https://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.110).aspx –
「System.Threading.Timer 'オブジェクト?しかし正直なところ、私はあなたに再考することを強くお勧めします。 [*]タイマーを実行するWindowsサービスを作成している場合は、ソリューションを再評価する必要があります。*](https://weblogs.asp.net/jongalloway/428303)スケジュールされたタスクが適切です。 –
@CodyGrayはとても興味深いBlogpostです。私は予定された仕事でそれをすることを検討すべきです...しかし、まだ、私は解決策に興味があります。 – Cataklysim