首页 > 其他分享 >BackgroundService 利用托管服务执行后台代码

BackgroundService 利用托管服务执行后台代码

时间:2022-10-07 14:55:46浏览次数:45  
标签:Task 服务 托管 BackgroundService 后台 logger await

ASP.NET Core 中提供了托管服务 (hosted service) 来供我们编写运行在后台的代码。

只要继承抽象类 BackgroundService ,并实现方法 ExecuteAsync() ,如果有需要释放的资源,可以写在Dispose()方法中

 一、除了日志外不需要注入其它服务的后台服务

 public class DemoBgService : BackgroundService
    {
        private readonly ILogger<DemoBgService> _logger;

        public DemoBgService(ILogger<DemoBgService> logger)
        {
            _logger = logger;
        }

        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            await Task.Delay(5000);
            string s = await File.ReadAllTextAsync(@"e://1.txt");
            await Task.Delay(2000);
            _logger.LogInformation(s);
        }
    }

注册服务

services.AddHostedService<DemoBgService>();

二、需要注入其它服务的后台服务

因为注入的后台服务是单例,所以不能直接在构造函数中注入其它服务

 

标签:Task,服务,托管,BackgroundService,后台,logger,await
From: https://www.cnblogs.com/friend/p/16759724.html

相关文章

  • 通用后台管理系统需求分析
    系统需求分析2.1系统可行性分析 2.1.1技术可行性从零开始搭建一个项目骨架,最好选择合适熟悉的技术,并且在未来易拓展,适合微服务化体系等。所以一般以Springboot作为我们......
  • (四)模仿学习-完成后台管理页面查询
    我们从网上下载一份代码学习,模拟如果在实际工作中,我们入职的时候会首先拿到一个不复杂但是技术比较老的项目,因为作为新人很难去直接参与大而且新的项目进行开发。我们从......
  • (五)模仿学习-完成后台管理页面查询
    我们从网上下载一份代码学习,模拟如果在实际工作中,我们入职的时候会首先拿到一个不复杂但是技术比较老的项目,因为作为新人很难去直接参与大而且新的项目进行开发。我们从......
  • admin后台管理数据库里的表
    admin后台管理django给您提供了一个可视化图形界面,来方便您来对数据库里的表进行增删改查的管理但是!使用admin后台管理你自己注册的模型表时,需要自行进行先注册该表!在应......
  • 关于windows-server-将程序置于后台一直运行的方法记录
    在linux下我们知道知道,可以使用&将程序命令置于后台,进行运行那么在windows下是否也有类似的方法呢,笔者查询研究了一下,还真有类似的方法核心命令是使用start/b的方式,举......
  • 使用mock.js来模拟后台数据的方案
    如何在项目中引入mockjs,从而实现脱离后端数据,前端做假数据来独立开发业务逻辑。一.安装依赖npmimockjs--save-dev二.使用mock按照业务模块建立一个文件来写模拟......
  • 【vue3+ts后台管理】项目搭建
    文章目录​​项目创建​​​​引入element-plus​​​​完整引入​​​​按需引入​​​​【vue3+typescript】Vue3+TS电商后台系统项目实战​​项目创建首先执行​​vuecr......
  • 手摸手,带你用vue撸后台 系列三(实战篇)
      完整项目地址:​​vue-element-admin​​系列文章:​​手摸手,带你用vue撸后台系列一(基础篇)​​​​手摸手,带你用vue撸后台系列二(登录权限篇)​​​​手摸手,带你用......
  • thinkphp 知识付费小程序源码 后台免费一键更新教程资源
    知识付费小程序源码thinkphp后台管理数据,带800条真实教程资源数据,后台免费一键更新教程资源  thinkphp3.2后台,小程序前端已修改很多bug,会员收藏,会员下载记录,会员积......
  • 一些自托管(self hosted)服务的使用笔记
    opengrokoracle的opengrok是一个项目代码查找工具,自建索引,类似工具有sourceinsight官方已经提供好了docker镜像,傻瓜式安装。不过增加新的项目源码时需要手动更新索引,doc......