.NET Core 实现后台任务(定时任务)IHostedService
Posted Echoxxx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET Core 实现后台任务(定时任务)IHostedService相关的知识,希望对你有一定的参考价值。
program添加服务
// .Net 6 builder.Services.AddHostedService<TestHostedService>(); // .Net 5 及以下 services.AddHostedService<TestHostedService>();
- 添加工作类
public class TestHostedService : IHostedService, IDisposable private Timer? _timer; /// <summary> /// 任务开始 /// </summary> /// <param name="cancellationToken"></param> /// <returns></returns> public Task StartAsync(CancellationToken cancellationToken) _timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromSeconds(5)); return Task.CompletedTask; private void DoWork(object? state) Console.WriteLine($"DateTime.Now:yyyy-MM-dd HH:mm:ss"); /// <summary> /// 任务停止 /// </summary> /// <param name="cancellationToken"></param> /// <returns></returns> public Task StopAsync(CancellationToken cancellationToken) Console.WriteLine("StopAsync"); return Task.CompletedTask; public void Dispose() _timer?.Dispose();
- 效果
以上是关于.NET Core 实现后台任务(定时任务)IHostedService的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Core2.2+Quartz.Net 实现web定时任务
Asp-Net-Core开发笔记:集成Hangfire实现异步任务队列和定时任务