实现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 运行结果