Использование этой конфигурации:
public class EnvironmentConfig {
public string TestKey { get; set; }
}
С помощью этого IWebHost
строителя:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) {
return WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((context, config) => { config.AddEnvironmentVariables("TEST_"); })
.UseStartup<Startup>();
}
Когда я пытаюсь связать переменные окружения в Startup
:
public void ConfigureServices(IServiceCollection services) {
services.Configure<EnvironmentConfig>(Configuration.GetSection("TEST"));
services.AddSingleton<IClusterClient>(CreateClusterClient);
services.AddMvc();
}
И получить к ним доступ в одноэлементном компоновщике с переменной среды выполнения TEST_TEST_KEY
:
private IClusterClient CreateClusterClient(IServiceProvider serviceProvider) {
var config = new EnvironmentConfig();
Configuration.Bind(config);
}
Значение config.TestKey
равно нулю. Можете ли вы привязать переменные окружения к классам конфигурации так же, как вы можете использовать appsettings.json files?