并不想使用其它的中间件(Quartz )需要定时执行简单的任务,可以考虑.Net 内置的后台任务 IHostedService
创建.NET Core 6 的控制台应用程序 引入包
Microsoft.Extensions.Hosting
Microsoft.Extensions.Hosting.Abstractions
运行结果,这里设置5秒执行一次
Program代码
public class Program { public static async Task Main(string[] args) { var builder = new HostBuilder() .ConfigureServices((hostContext, services) => { services.AddHostedService<TestHostedService>(); }); await builder.RunConsoleAsync(); } }
TestHostedService 任务类代码
public class TestHostedService : IHostedService, IDisposable { private Timer? _timer; 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}"); } public Task StopAsync(CancellationToken cancellationToken) { Console.WriteLine("StopAsync"); return Task.CompletedTask; } public void Dispose() { _timer?.Dispose(); } }
本文来自博客园,作者:董锡振,转载请注明原文链接:https://www.cnblogs.com/dongxizhen/p/16457072.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具