【发布时间】:2019-04-15 13:45:05
【问题描述】:
我想在指定时间执行方法,例如在五分钟内执行某个方法。我不需要间隔(每天或每小时)执行一次,只需一次。 我用 asp.net core 2.1 制作 web 应用程序。我希望能够添加例如3个工作要做 1) 5 分钟内 2) 10 分钟内 3) 在 15 分钟内 并期望在时间结束时执行。 我怎样才能以简单的方式做到这一点?
【问题讨论】:
我想在指定时间执行方法,例如在五分钟内执行某个方法。我不需要间隔(每天或每小时)执行一次,只需一次。 我用 asp.net core 2.1 制作 web 应用程序。我希望能够添加例如3个工作要做 1) 5 分钟内 2) 10 分钟内 3) 在 15 分钟内 并期望在时间结束时执行。 我怎样才能以简单的方式做到这一点?
【问题讨论】:
为什么不使用计时器。简单易行...
private System.Timers.Timer myTimer;
private int minutes = Settings.Default.5MinuteTimer;
private void SetTimer()
{
myTimer= new System.Timers.Timer(1000 * 60 * minutes);
myTimer.Elapsed += OnTimedEvent;
myTimer.AutoReset = false; //Fire event only once.
myTimer.Enabled = true;
}
private void OnTimedEvent(Object source, ElapsedEventArgs e)
{
MyMethod();
}
private MyMethod()
{
myTimer.Stop(); //Calling stop will also Dispose the timer.
// Other code.
}
【讨论】: