当前位置: 首页 > news >正文

.net core background service

之前聊过如何在.net core 中添加后台服务,
当时使用的是BackgroundService的形式,这里使用IHostedService接口

namespace oneModelMultiTable.BackgroundService
{public class EllisTest : IHostedService, IDisposable{private readonly ILogger<EllisTest> _logger;private Timer _timer;public EllisTest(ILogger<EllisTest> logger){_logger = logger;}public void Dispose(){_timer?.Dispose();}public Task StartAsync(CancellationToken cancellationToken){_logger.LogInformation("start service");_timer = new Timer(Refresh, null, TimeSpan.Zero, TimeSpan.FromSeconds(5));return Task.CompletedTask;}public Task StopAsync(CancellationToken cancellationToken){_logger.LogInformation("stop service");return Task.CompletedTask;}public void Refresh(object state){_logger.LogInformation(DateTime.Now.ToString() + "测试定时任务");}}
}
builder.Services.AddHostedService<EllisTest>();

StartAsync应该限于短时间运行的任务,因为托管服务是顺序运行的,并且在StartAsync运行完成之前不会启动其他服务。

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-7.0&tabs=visual-studio

http://www.lryc.cn/news/117267.html

相关文章:

  • 前端开发的工作职责精选【10篇】
  • SpringBoot 升级内嵌Tomcat
  • react搭建在线编辑html的站点——引入grapes实现在线拖拉拽编辑html
  • Nginx反向代理服务配置和负载均衡配置
  • react钩子函数理解
  • 医疗保健中的 NLP:实体链接
  • java编程规范
  • 合宙Air724UG LuatOS-Air script lib API--sim
  • 【网络基础实战之路】基于三个分公司的内网搭建并连接运营商的实战详解
  • (Python)Requests+Pytest+Allure接口自动化测试框架从0到1搭建
  • 实现vuex数据持久化处理
  • Vue-系统登录进入首页后禁用浏览器返回键
  • Hadoop理论及实践-HDFS的Namenode及Datanode(参考Hadoop官网)
  • 第四十九天
  • ArcGIS Pro简介下载安装地址
  • MySQL 存储过程、函数、触发器、事件
  • 【LeetCode】121. 买卖股票的最佳时机 -
  • 解决Vue+Element-UI 进行From表单校验时出现了英文提示问题
  • cpolar内网穿透的安装
  • OPENCV C++(十)gramm矫正+直方图均衡化
  • 并发——ThreadPoolExecutor 类简单介绍
  • SharePoint 审核和监控工具
  • java+springboot+mysql法律咨询网
  • 无涯教程-Perl - getservbyport函数
  • iOS开发-JsonModel的学习及使用
  • jquery 遍历所有元素
  • Tik Tok跨境电商新风向,跨境卖家该如何布局?
  • OR36 链表的回文结构 题解
  • “去没有天花板的地方” | 小红书用户情绪数据
  • Java文件操作(遍历目录中的文件,找到并删除有指定关键字的文件)