• 如何在ASP.NET Core项目启动时执行异步定时任务


    背景介绍

      项目环境为ASP.NET Core 2.1.2。

      需要在项目启动时运行一个定时任务,在后台每隔一定时间执行任务。

    实现方法

      1、写一个任务服务类继承BackgroundService

     1     public class APIDataService : BackgroundService
     2     {
     3         protected override async Task ExecuteAsync(CancellationToken stoppingToken)
     4         {
     5             while (!stoppingToken.IsCancellationRequested)
     6             {
     7                 try
     8                 {
     9                     //需要执行的任务
    10 
    11                 }
    12                 catch (Exception ex)
    13                 {
    14                     LogHelper.Error(ex.Message);
    15                 }
    16                 await Task.Delay(1000, stoppingToken);//等待1秒
    17             }
    18         }
    19     }

      2、在Startup.cs中注入

    1 public void ConfigureServices(IServiceCollection services)
    2 {
    3   ...
    4   services.AddSingleton<Microsoft.Extensions.Hosting.IHostedService, APIDataService>();
    5 }

      3、运行代码,进行测试

  • 相关阅读:
    匈牙利游戏
    钓鱼
    路由选择
    借教室
    有趣的数
    广告印刷
    海战
    暑假周进度报告(一)
    在Oracle创建一个自己用的用户及角色
    下载,安装oracle数据库以及navicat连接数据库
  • 原文地址:https://www.cnblogs.com/bossing/p/12579183.html
Copyright © 2020-2023  润新知