[CHANGE] DI fixes
This commit is contained in:
parent
a5e55e563e
commit
d183803390
3 changed files with 20 additions and 3 deletions
|
|
@ -25,9 +25,11 @@ public static class DependencyInjection
|
|||
options.UseSqlite($"Data Source={dbPath}");
|
||||
});
|
||||
|
||||
builder.Services.AddScoped<ILibraryService, LibraryService>();
|
||||
|
||||
builder.Services.AddSingleton<HostedServiceConnector>();
|
||||
builder.Services.AddHostedService<ClientManager>();
|
||||
|
||||
builder.Services.AddScoped<ILibraryService, LibraryService>();
|
||||
}
|
||||
|
||||
public static void SetupSettings(this WebApplicationBuilder builder)
|
||||
|
|
|
|||
|
|
@ -6,15 +6,19 @@ using Manager.YouTube;
|
|||
|
||||
namespace Manager.App.Services.System;
|
||||
|
||||
public class ClientManager : BackgroundService
|
||||
public class ClientManager(IServiceScopeFactory scopeFactory, HostedServiceConnector serviceConnector) : BackgroundService
|
||||
{
|
||||
private readonly List<YouTubeClient> _clients = [];
|
||||
private CancellationToken _cancellationToken;
|
||||
private ILibraryService? _libraryService;
|
||||
|
||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
serviceConnector.RegisterService(this);
|
||||
_cancellationToken = stoppingToken;
|
||||
stoppingToken.Register(CancellationRequested);
|
||||
using var scope = scopeFactory.CreateScope();
|
||||
_libraryService = scope.ServiceProvider.GetRequiredService<ILibraryService>();
|
||||
}
|
||||
|
||||
private void CancellationRequested()
|
||||
|
|
|
|||
11
Manager.App/Services/System/HostedServiceConnector.cs
Normal file
11
Manager.App/Services/System/HostedServiceConnector.cs
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
namespace Manager.App.Services.System;
|
||||
|
||||
public class HostedServiceConnector
|
||||
{
|
||||
private readonly List<IHostedService> _hostedServices = [];
|
||||
|
||||
public void RegisterService(IHostedService service)
|
||||
{
|
||||
_hostedServices.Add(service);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue