[CHANGE] Reworked event console

This commit is contained in:
max
2025-09-10 18:19:36 +02:00
parent ef6ca0ee07
commit 9be6f5be89
16 changed files with 326 additions and 131 deletions

View File

@@ -24,10 +24,8 @@ public static class DependencyInjection
logger.LogInformation("Setting library database to: {DbPath}", dbPath);
options.UseSqlite($"Data Source={dbPath}");
});
builder.Services.AddSingleton<BackgroundServiceManager>();
builder.Services.AddHostedService<ClientService>();
builder.RegisterExtendedBackgroundServices();
builder.Services.AddScoped<ILibraryService, LibraryService>();
}
@@ -88,4 +86,20 @@ public static class DependencyInjection
builder.Logging.SetMinimumLevel(isDevelopment ? LogLevel.Trace : LogLevel.Information);
builder.Logging.AddDotBasedLoggerProvider(LogService.Options);
}
private static void RegisterExtendedBackgroundServices(this WebApplicationBuilder builder)
{
var assembly = typeof(Program).Assembly;
foreach (var exBgService in assembly.GetTypes()
.Where(t => typeof(ExtendedBackgroundService).IsAssignableFrom(t)
&& t is { IsClass: true, IsAbstract: false }))
{
builder.Services.AddSingleton(exBgService);
builder.Services.AddSingleton(typeof(ExtendedBackgroundService), sp => (ExtendedBackgroundService)sp.GetRequiredService(exBgService));
builder.Services.AddSingleton<IHostedService>(sp => (IHostedService)sp.GetRequiredService(exBgService));
}
builder.Services.AddSingleton<BackgroundServiceRegistry>();
}
}