实现IHostedService实现后台服务

1 实现IHostedService服务代码

using Microsoft.Extensions.Hosting;
using System;
using System.Threading;
using System.Threading.Tasks;

namespace DailyCoding.Code
{
    public class HostServiceDemo : IHostedService
    {
        public async Task StartAsync(CancellationToken cancellationToken)
        {
            await Task.CompletedTask;

            Console.WriteLine("StartAsync");
        }

        public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
    }
}

2 启动代码

using System;
using System.Reflection;
using DailyCoding.Attributes;
using DailyCoding.Code;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace DailyCoding
{
    class Program
    {
        static async Task Main(string[] args)
        {
            await CreateHostBuilder(args).RunConsoleAsync();

            Console.Read();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService<HostServiceDemo>();
                });

    }
}

3 运行结果

 

posted @ 2021-02-28 17:10  温故纳新  阅读(772)  评论(0编辑  收藏  举报