using Furion.DatabaseAccessor; using System.Data; namespace Admin.NET.WorkerService { public class Worker : BackgroundService { private readonly ILogger _logger; // ·þÎñ¹¤³§ private readonly IServiceScopeFactory _scopeFactory; public Worker(ILogger logger, IServiceScopeFactory scopeFactory) { _logger = logger; _scopeFactory = scopeFactory; } // Æô¶¯ public override Task StartAsync(CancellationToken cancellationToken) { return base.StartAsync(cancellationToken); } // Ö´ÐÐÂß¼­ protected override async Task ExecuteAsync(CancellationToken stoppingToken) { while (!stoppingToken.IsCancellationRequested) { using (var scope = _scopeFactory.CreateScope()) { var services = scope.ServiceProvider; Console.WriteLine(DateTime.Now); } //Ö´Ðеķ½·¨ await Task.Delay(2000, stoppingToken); } } // Í£Ö¹ public override Task StopAsync(CancellationToken cancellationToken) { return base.StopAsync(cancellationToken); } } }