using PrintService; using PrintService.Models; using PrintService.Services; using Microsoft.Extensions.Options; IHost host = Host.CreateDefaultBuilder(args) .UseWindowsService(options => { options.ServiceName = "LAAPC Print Service"; }) .ConfigureServices((hostContext, services) => { // Bind configuration services.Configure(hostContext.Configuration.GetSection("AppSettings")); // Register services services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); // Register the main worker services.AddHostedService(); }) .Build(); // Ensure directories exist var config = host.Services.GetRequiredService>().Value; Directory.CreateDirectory(config.QueuePath); Directory.CreateDirectory(config.ErrorPath); Directory.CreateDirectory(config.ArchivePath); host.Run();