Переменные среды связывания с префиксом в ASP.NET Core 2.x - PullRequest
0 голосов
/ 02 июля 2019

Использование этой конфигурации:

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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...