如何将环境变量列表绑定到.Net中的选项

问题描述 投票:0回答:1

我在托管我的应用程序的 kubernetes pod 上有一个环境变量列表,它没有任何部分,只有如下所示的变量列表:

KAFKA_BOOTSTRAP_SERVERS
KAFKA_PASSWORD
KAFKA_TOPIC
KAFKA_USERNAME

将其映射到我的选项类的最佳方法是什么

[ConfigurationKeyName("KAFKA_BOOTSTRAP_SERVERS")]
public required string BootstrapServers { get; set; }
[ConfigurationKeyName("KAFKA_USERNAME")]
public required string Username { get; set; }
[ConfigurationKeyName("KAFKA_PASSWORD")]
public required string Password { get; set; }
[ConfigurationKeyName("KAFKA_TOPIC")]
public required string Topic { get; set; }

我尝试通过接口通过

IConfigureOptions<KafkaOptions>
进行绑定,但是它要求绑定ConfigurationSection,而我没有

            _configuration
            .GetSection(SectionName)
            .Bind(options);

有谁知道如何解决吗?

c# .net environment-variables app-config ioptions
1个回答
0
投票

只需从配置本身绑定(需要

Microsoft.Extensions.Configuration.Binder
):

public void Configure(TestOptions options)
{
    _configuration.Bind(options);
}
© www.soinside.com 2019 - 2024. All rights reserved.