Refactor LicenseManager registration with factory
Replaces transient LicenseManager registration (with per-injection license key retrieval via MediatR) with a singleton LicenseManagerFactory. This centralizes license management and may improve performance and maintainability.
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
using EnvelopeGenerator.Application.ThirdPartyModules.Queries;
|
||||
using EnvelopeGenerator.ServiceHost.Jobs;
|
||||
using EnvelopeGenerator.ServiceHost.Jobs.FinalizeDocument;
|
||||
using GdPicture14;
|
||||
using MediatR;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
namespace EnvelopeGenerator.ServiceHost.Extensions;
|
||||
@@ -28,16 +26,7 @@ public static class DependencyInjection
|
||||
|
||||
//TODO: Check lifetime of services. They might be singleton or scoped.
|
||||
services.AddTransient<GdViewer>();
|
||||
// Add LicenseManager – license key is read from DB via MediatR
|
||||
services.AddTransient(provider =>
|
||||
{
|
||||
using var scope = provider.CreateScope();
|
||||
var mediator = scope.ServiceProvider.GetRequiredService<IMediator>();
|
||||
var licenseKey = mediator.Send(new ReadThirdPartyModuleLicenseQuery { Name = "GdPicture" }).GetAwaiter().GetResult();
|
||||
var licenseManager = new LicenseManager();
|
||||
licenseManager.RegisterKEY(licenseKey);
|
||||
return licenseManager;
|
||||
});
|
||||
services.AddSingleton<LicenseManagerFactory>();
|
||||
services.AddTransient<AnnotationManager>();
|
||||
|
||||
return services;
|
||||
|
||||
Reference in New Issue
Block a user