using System.Collections.Generic; using System.IO; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using VSH.Data.Static; namespace VSH.BackgroundServices; public class StartupTasksBackgroundService : BackgroundService { private readonly ILogger _logger; private static IEnumerable PathsToEnsureCreated => new List { AppPaths.ProductImages.HostPath, AppPaths.DocumentImages.HostPath, }; public StartupTasksBackgroundService(ILogger logger) { _logger = logger; } protected override Task ExecuteAsync(CancellationToken stoppingToken) { EnsureCreated(); return Task.CompletedTask; } private void EnsureCreated() { foreach (var path in PathsToEnsureCreated) { Directory.CreateDirectory(path); _logger.LogInformation("EnsuredCreated: " + path); } } }