.net6定时器

因业务涉及到定时执行任务 所以要使用到定时器

直接写在program里 (如果发布到iis服务器上面的话 一定要将iis部署绑定的应用程序池->高级设置->闲置时间设置为0)

//须要先注入调用的service
// 添加服务到容器中
builder.Services.AddScoped<BaseAutoService>();

...

//回调方法
void TimerCallback(object state)
{

// 获取服务实例并调用它的方法
using (var scope = app.Services.CreateScope())
{
var services = scope.ServiceProvider;
var myService = services.GetRequiredService<BaseAutoService>();
//调用执行方法
myService.StartAsync(CancellationToken.None);
}

}

// 创建定时器对象  设置执行时间是2秒中
Timer timer = new Timer(TimerCallback, null, TimeSpan.Zero, TimeSpan.FromSeconds(2));  
posted @ 2024-10-20 14:16  zuiaixiaoyadan  阅读(20)  评论(0编辑  收藏  举报