Код IT
← Каталог

ASP.NET - фреймворк для веб-приложений — DI в различных контекстах

Фрагмент из «ASP.NET - фреймворк для веб-приложений»: DI в различных контекстах.

C# main.cs
   public class DataCleanupService : IHostedService
   {
       private readonly IServiceScopeFactory _scopeFactory;
       
       public DataCleanupService(IServiceScopeFactory scopeFactory)
       {
           _scopeFactory = scopeFactory;
       }
       
       public async Task StartAsync(CancellationToken ct)
       {
           using var scope = _scopeFactory.CreateScope();
           var dbContext = scope.ServiceProvider.GetRequiredService<AppDbContext>();
           await dbContext.CleanupOldDataAsync(ct);
       }
   }
   public class DataCleanupService : IHostedService
   {
       private readonly IServiceScopeFactory _scopeFactory;
       
       public DataCleanupService(IServiceScopeFactory scopeFactory)
       {
           _scopeFactory = scopeFactory;
       }
       
       public async Task StartAsync(CancellationToken ct)
       {
           using var scope = _scopeFactory.CreateScope();
           var dbContext = scope.ServiceProvider.GetRequiredService<AppDbContext>();
           await dbContext.CleanupOldDataAsync(ct);
       }
   }