diff --git a/src/FilterLists.Agent/Infrastructure/DependencyInjection/ServiceProviderBuilder.cs b/src/FilterLists.Agent/Infrastructure/DependencyInjection/ServiceProviderBuilder.cs new file mode 100644 index 000000000..6d6d9b2a7 --- /dev/null +++ b/src/FilterLists.Agent/Infrastructure/DependencyInjection/ServiceProviderBuilder.cs @@ -0,0 +1,15 @@ +using System; +using Microsoft.Extensions.DependencyInjection; + +namespace FilterLists.Agent.Infrastructure.DependencyInjection +{ + public static class ServiceProviderBuilder + { + public static IServiceProvider Build() + { + var serviceCollection = new ServiceCollection(); + serviceCollection.ConfigureServices(); + return serviceCollection.BuildServiceProvider(); + } + } +} \ No newline at end of file diff --git a/src/FilterLists.Agent/Program.cs b/src/FilterLists.Agent/Program.cs index 9673d4477..269e64039 100644 --- a/src/FilterLists.Agent/Program.cs +++ b/src/FilterLists.Agent/Program.cs @@ -40,9 +40,7 @@ await parser.ParseArguments(args).MapResult(async o => private static void Setup() { - var serviceCollection = new ServiceCollection(); - serviceCollection.ConfigureServices(); - _serviceProvider = serviceCollection.BuildServiceProvider(); + _serviceProvider = ServiceProviderBuilder.Build(); var telemetryConfiguration = _serviceProvider.GetService(); _quickPulseTelemetryModule = new QuickPulseTelemetryModule(); @@ -52,6 +50,7 @@ private static void Setup() private static void Teardown() { _quickPulseTelemetryModule.Dispose(); + var telemetryClient = _serviceProvider.GetService(); telemetryClient.Flush(); Thread.Sleep(5000);