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

相关推荐
ELI_He99910 小时前
hyperf auth模块
后端·php
VX:Fegn089511 小时前
计算机毕业设计|基于springboot + vue图书管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
cike_y12 小时前
Spring的配置&各种依赖注入
java·开发语言·后端·spring
椰果子13 小时前
Nacos 2.x.x版本不适用JDK17的处理方式
java·spring boot·后端
上进小菜猪13 小时前
基于 YOLOv8 的共享单车乱停放智能识别系统— 从数据集构建到可视化部署的完整项目
后端
爱敲代码的小黄14 小时前
阿里人的 2025 年终总结:买房、晋升、订婚、投资,遇见更清晰的自己
后端·面试·架构
2501_9216494914 小时前
如何获取外汇实时数据:全球货币行情对接指南
后端·python·websocket·金融·区块链
卷福同学15 小时前
2025年终总结:再次选择、沪漂、第一次演讲、相亲无果
后端·程序员·github
韩师傅15 小时前
从随叫随到到规范配送:现代物流系统与 REST API 的登场
后端·python·全栈
踏浪无痕15 小时前
RocketMQ 为什么读得这么快?揭秘 ConsumeQueue 的异步索引设计
后端·面试·rocketmq