后台任务

1.创建webapi项目

2.在项目中新建BackTask 文件夹

3.在BackTask文件夹下创建 TestBackService 类

4.TestBackService 类 继承一下后台任务类:BackgroundService

至此,后台任务类就搭建完成了,然后就可以开始进行代码操作了。

我们来一个非常之简单的后台任务测试:

在类中重写 一下  ExecuteAsync()方法

 protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            Console.WriteLine("----------后台任务开启-------------------");
            while (!stoppingToken.IsCancellationRequested)
            {
                try
                {
                    //模拟实际业务,输出当前时间
                    Console.WriteLine($"当前时间为:{DateTime.Now}");
                    

                    Thread.Sleep(1500);

                    //测试报错
                    //int.Parse("fdgdfg");

                }
                catch (Exception ex)
                {
                    Console.WriteLine($"出错了:{ex.Message}");

                    //根据实际情况决定是否停止后台任务
                    await base.StopAsync(stoppingToken);
                }
            }
        }

在startup类中注册相关类

public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddHostedService<TestBackService>();//这是后台任务的注册方式
            services.AddSingleton<MyDbContext>();
        }

 

 

 

 

 

 

posted on 2022-07-28 10:44  泰坦尼克号上的活龙虾  阅读(59)  评论(0)    收藏  举报

导航