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

相关推荐
墨风如雪29 分钟前
手把手教你测试VPS网络质量:详解测试IP与LookingGlass用法 (以RackNerd洛杉矶DC02为例)
后端·网络协议
计算机学姐1 小时前
基于SpringBoot的美妆销售系统【个性化推荐算法+数据可视化统计+库存预警+物流信息】
java·vue.js·spring boot·后端·mysql·信息可视化·mybatis
无限大61 小时前
为什么"计算机网络"需要分层设计?——从物理层到应用层
后端·面试·程序员
嘻哈baby1 小时前
Redis常见问题排查手册
后端
木昆子1 小时前
AI Agent案例实践:三种智能体开发模式详解之一(手写代码)
后端·python
鑫_Dev1 小时前
LangChain 第五篇 工具调用的两种核心方案:Agent 与 Tool Calling 深度对比
后端·langchain
程序员爱钓鱼1 小时前
Node.js 编程实战:使用 Postman Swagger 测试接口
后端·面试·node.js
咕白m6251 小时前
通过 C# 拆分 Excel 工作表
后端·c#
程序员爱钓鱼1 小时前
Node.js 编程实战:JWT身份验证与权限管理
前端·后端·node.js
程序猿阿越1 小时前
Kafka源码(八)数据复制
java·后端·源码阅读