.NET 定时任务

注册服务

builder.Services.AddHostedService<TestHostedService2>();

创建服务

TestHostedService.cs

arduino 复制代码
namespace 定时任务
{
    public class TestHostedService : IHostedService, IDisposable
    {
        private Timer? _timer;

        public Task StartAsync(CancellationToken cancellationToken)
        {
            _timer = new Timer(DoWork, null, TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(5));

            return Task.CompletedTask;
        }

        private void DoWork(object? state)
        {
            Console.WriteLine("这是任务a");
            Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss}");
        }

        public Task StopAsync(CancellationToken cancellationToken)
        {
            Console.WriteLine("StopAsync");

            return Task.CompletedTask;
        }


        public void Dispose()
        {
            _timer?.Dispose();
        }
    }
}

测试

创建了两个定时任务服务,b每五秒执行一次,a五秒后才执行

参考

.NET Core 实现后台任务(定时任务)IHostedService(一) - 一事冇诚 - 博客园 (cnblogs.com)

相关推荐
百***58149 小时前
Spring Boot 2.7.x 至 2.7.18 及更旧的版本,漏洞说明
java·spring boot·后端
q***38519 小时前
Spring boot启动原理及相关组件
数据库·spring boot·后端
q***04059 小时前
Spring Boot项目中解决跨域问题(四种方式)
spring boot·后端·dubbo
q***64979 小时前
Spring BOOT 启动参数
java·spring boot·后端
百***62859 小时前
Spring Boot 3.X:Unable to connect to Redis错误记录
spring boot·redis·后端
我命由我1234510 小时前
Java 开发 - 粘包处理器 - 基于消息头 + 消息体(魔数验证、长度验证)
java·网络·后端·网络协议·java-ee·intellij-idea·intellij idea
csdn_wuwt10 小时前
有C#可用的开源的地图吗?
后端·c#·gis·map·开发·设计·地图
bagadesu10 小时前
15.<Spring Boot 日志>
java·后端
9ilk11 小时前
【基于one-loop-per-thread的高并发服务器】--- 项目测试
运维·服务器·c++·后端·中间件
白衣鸽子11 小时前
ArrayUtils:Java数组操作的瑞士军刀
后端·开源·设计