在指定时间执行方法

时间:2018-11-12 19:33:49

标签: .net time core

我想在指定的时间执行方法,例如在五分钟内执行一些方法。我不需要每隔一段时间(每天或每小时)执行一次。 我使用asp.net core 2.1制作Web应用程序。我希望能够添加例如3个工作要做 1)在5分钟内 2)在10分钟内 3)15分钟内 并期望在时间结束时执行。 如何以一种简单的方式做到这一点?

1 个答案:

答案 0 :(得分:1)

为什么不使用计时器。简单容易...

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.
}