diff --git a/src/ScadaLink.ConfigurationDatabase/ServiceCollectionExtensions.cs b/src/ScadaLink.ConfigurationDatabase/ServiceCollectionExtensions.cs index 59e33d8..b13e6dc 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 006d35b..b8528d5 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 e2cdccb..258a3b7 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 928336e..7c3dfb0 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(