diff --git a/src/ScadaLink.ConfigurationDatabase/ServiceCollectionExtensions.cs b/src/ScadaLink.ConfigurationDatabase/ServiceCollectionExtensions.cs index 59e33d8b..b13e6dc1 100644 --- a/src/ScadaLink.ConfigurationDatabase/ServiceCollectionExtensions.cs +++ b/src/ScadaLink.ConfigurationDatabase/ServiceCollectionExtensions.cs @@ -21,7 +21,13 @@ public static class ServiceCollectionExtensions services.AddScoped(); services.AddScoped(); services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + services.AddScoped(); services.AddScoped(); + services.AddScoped(); services.AddDataProtection() .PersistKeysToDbContext(); diff --git a/src/ScadaLink.ExternalSystemGateway/ServiceCollectionExtensions.cs b/src/ScadaLink.ExternalSystemGateway/ServiceCollectionExtensions.cs index 006d35b7..b8528d52 100644 --- a/src/ScadaLink.ExternalSystemGateway/ServiceCollectionExtensions.cs +++ b/src/ScadaLink.ExternalSystemGateway/ServiceCollectionExtensions.cs @@ -11,10 +11,10 @@ public static class ServiceCollectionExtensions .BindConfiguration("ScadaLink:ExternalSystemGateway"); services.AddHttpClient(); - services.AddSingleton(); - services.AddSingleton(sp => sp.GetRequiredService()); - services.AddSingleton(); - services.AddSingleton(sp => sp.GetRequiredService()); + services.AddScoped(); + services.AddScoped(sp => sp.GetRequiredService()); + services.AddScoped(); + services.AddScoped(sp => sp.GetRequiredService()); return services; } diff --git a/src/ScadaLink.NotificationService/ServiceCollectionExtensions.cs b/src/ScadaLink.NotificationService/ServiceCollectionExtensions.cs index e2cdccbd..258a3b7e 100644 --- a/src/ScadaLink.NotificationService/ServiceCollectionExtensions.cs +++ b/src/ScadaLink.NotificationService/ServiceCollectionExtensions.cs @@ -13,8 +13,8 @@ public static class ServiceCollectionExtensions services.AddHttpClient(); services.AddSingleton(); services.AddSingleton>(_ => () => new MailKitSmtpClientWrapper()); - services.AddSingleton(); - services.AddSingleton(sp => sp.GetRequiredService()); + services.AddScoped(); + services.AddScoped(sp => sp.GetRequiredService()); return services; } diff --git a/tests/ScadaLink.IntegrationTests/IntegrationSurfaceTests.cs b/tests/ScadaLink.IntegrationTests/IntegrationSurfaceTests.cs index 928336ea..7c3dfb06 100644 --- a/tests/ScadaLink.IntegrationTests/IntegrationSurfaceTests.cs +++ b/tests/ScadaLink.IntegrationTests/IntegrationSurfaceTests.cs @@ -200,7 +200,10 @@ public class IntegrationSurfaceTests // Create a minimal context — we use Substitute.For which is fine since // we won't exercise Akka functionality in these tests. var actorRef = Substitute.For(); - var sharedLibrary = Substitute.For( + var compilationService = new SiteRuntime.Scripts.ScriptCompilationService( + Microsoft.Extensions.Logging.Abstractions.NullLogger.Instance); + var sharedLibrary = new SiteRuntime.Scripts.SharedScriptLibrary( + compilationService, Microsoft.Extensions.Logging.Abstractions.NullLogger.Instance); return new SiteRuntime.Scripts.ScriptRuntimeContext(