【问题标题】:How to load configuration from created object如何从创建的对象加载配置
【发布时间】:2021-07-09 20:53:34
【问题描述】:

我有这段代码,它从文件中加载配置:

var builder = Host.CreateDefaultBuilder()
                .ConfigureAppConfiguration((hostingContext, config) =>
                {
                    config.SetBasePath(Directory.GetCurrentDirectory());
                    config.AddJsonFile("appsettings.test.json", true, true)
                })

但我想从已创建的对象中加载配置以进行测试。像这样的:

var builder = Host.CreateDefaultBuilder()
                .ConfigureAppConfiguration((hostingContext, config) =>
                {
                    config.Load(serviceOptions)
                })

然后我会在启动文件中使用这个配置。

【问题讨论】:

    标签: c# .net-core configurationmanager


    【解决方案1】:

    使用MemoryConfigurationProvider 从内存对象加载配置。例如

    var builder = Host.CreateDefaultBuilder()
        .ConfigureAppConfiguration((hostingContext, config) =>
        {
            config.AddInMemoryCollection(
                new Dictionary<string, string>
                {
                    { "Option1", serviceOptions.option1 },
                    { "Option2", serviceOptions.option2 },
                    { "Option3", serviceOptions.option3 },
                }
            );
        });
    
    

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-08
      • 2013-04-06
      • 2015-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多