RsCode计划任务思路

  1. 自定义一个任务类MyMob.cs,继承BackgroundService

  2. 实现ExecuteAsync()

    使用System.Timers.Timer定时处理任务

  3. 注册计划任务

    builder.Services.AddHostedService<MyMob>();
    

计划任务实例代码

public class MyJob : BackgroundService
{
    //每隔5秒执行一次
        System.Timers.Timer timer = new System.Timers.Timer(5000);
    protected override Task ExecuteAsync(CancellationToken stoppingToken)
    {
        timer.Elapsed += Timer_Elapsed;
        timer.Enabled = true; //开启计时器
        //timer.Enbled=false;//暂停计时器
        //timer.Interval=2000;//改变时间间隔为2秒

        return Task.CompletedTask;
    }
    
    private void Timer_Elapsed(object? sender, ElapsedEventArgs e)
    {
        //任务内容
        Console.WriteLine(e.SignalTime.ToString());
    }
}

//注册服务
builder.Services.AddHostedService<MyMob>();
上次更新:
贡献者: kuiyu