From d1ad1bfb0d1bcb27365e66a38bbf59358e7b7370 Mon Sep 17 00:00:00 2001 From: Jordan Brown Date: Wed, 22 Apr 2020 20:15:52 -0400 Subject: [PATCH] Bind missing services in SetupApplication --- src/Tgstation.Server.Host/Core/Application.cs | 2 -- .../Setup/PostSetupServices.cs | 27 ++++++++++++++----- .../Setup/SetupApplication.cs | 2 ++ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/src/Tgstation.Server.Host/Core/Application.cs b/src/Tgstation.Server.Host/Core/Application.cs index 7012511590..23ce2666bf 100644 --- a/src/Tgstation.Server.Host/Core/Application.cs +++ b/src/Tgstation.Server.Host/Core/Application.cs @@ -90,8 +90,6 @@ namespace Tgstation.Server.Host.Core // configure configuration services.UseStandardConfig(Configuration); - services.UseStandardConfig(Configuration); - services.UseStandardConfig(Configuration); services.UseStandardConfig(Configuration); // enable options which give us config reloading diff --git a/src/Tgstation.Server.Host/Setup/PostSetupServices.cs b/src/Tgstation.Server.Host/Setup/PostSetupServices.cs index 115b60bf11..48353fbb5b 100644 --- a/src/Tgstation.Server.Host/Setup/PostSetupServices.cs +++ b/src/Tgstation.Server.Host/Setup/PostSetupServices.cs @@ -12,13 +12,28 @@ namespace Tgstation.Server.Host.Setup public IPlatformIdentifier PlatformIdentifier { get; } /// - public GeneralConfiguration GeneralConfiguration { get; } + public GeneralConfiguration GeneralConfiguration => generalConfigurationOptions.Value; /// - public DatabaseConfiguration DatabaseConfiguration { get; } + public DatabaseConfiguration DatabaseConfiguration => databaseConfigurationOptions.Value; /// - public FileLoggingConfiguration FileLoggingConfiguration { get; } + public FileLoggingConfiguration FileLoggingConfiguration => fileLoggingConfigurationOptions.Value; + + /// + /// Backing for . + /// + readonly IOptions generalConfigurationOptions; + + /// + /// Backing for . + /// + readonly IOptions databaseConfigurationOptions; + + /// + /// Backing for . + /// + readonly IOptions fileLoggingConfigurationOptions; /// /// Initializes a new instance of the . @@ -34,9 +49,9 @@ namespace Tgstation.Server.Host.Setup IOptions fileLoggingConfigurationOptions) { PlatformIdentifier = platformIdentifier ?? throw new ArgumentNullException(nameof(platformIdentifier)); - GeneralConfiguration = generalConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(generalConfigurationOptions)); - DatabaseConfiguration = databaseConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(databaseConfigurationOptions)); - FileLoggingConfiguration = fileLoggingConfigurationOptions?.Value ?? throw new ArgumentNullException(nameof(fileLoggingConfigurationOptions)); + this.generalConfigurationOptions = generalConfigurationOptions ?? throw new ArgumentNullException(nameof(generalConfigurationOptions)); + this.databaseConfigurationOptions = databaseConfigurationOptions ?? throw new ArgumentNullException(nameof(databaseConfigurationOptions)); + this.fileLoggingConfigurationOptions = fileLoggingConfigurationOptions ?? throw new ArgumentNullException(nameof(fileLoggingConfigurationOptions)); } } } diff --git a/src/Tgstation.Server.Host/Setup/SetupApplication.cs b/src/Tgstation.Server.Host/Setup/SetupApplication.cs index 5fee1caf6f..9ec5c003d9 100644 --- a/src/Tgstation.Server.Host/Setup/SetupApplication.cs +++ b/src/Tgstation.Server.Host/Setup/SetupApplication.cs @@ -67,6 +67,8 @@ namespace Tgstation.Server.Host.Setup services.AddSingleton(); services.UseStandardConfig(Configuration); + services.UseStandardConfig(Configuration); + services.UseStandardConfig(Configuration); ConfigureHostedService(services); }