【问题标题】:How to get appsettings value in ConfigureAppConfiguration c#如何在 ConfigureAppConfiguration c# 中获取 appsettings 值
【发布时间】:2021-10-14 21:04:59
【问题描述】:

我必须通过 appsettings 或任何方式在 CreateHostBuilder 中设置一个可配置的值;我刚刚尝试使用 appsettings

public static IHostBuilder CreateHostBuilder(string[] args) =>
                 Host.CreateDefaultBuilder(args)
                    .ConfigureWebHostDefaults(webBuilder =>
                    {
                        webBuilder.UseStartup<Startup>();
                        webBuilder.ConfigureAppConfiguration((hostingContext, config) =>
                        {
                            var url = _configuration.GetSection("url");
                            config.SetBasePath(hostingContext.HostingEnvironment.ContentRootPath)
                             .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).AddOcelot(// Set url here)

                               .AddEnvironmentVariables();
                        });

                    });

但 url 值总是返回为 null。 有没有人有更好的解决方案来获取 ConfigureAppConfiguration 中的应用程序设置,或者有更好的想法来使用任何其他想法来设置配置值?

【问题讨论】:

  • 我想知道 _configuration 来自哪里?你需要什么网址?

标签: asp.net-core c#-3.0


【解决方案1】:

你可以改变如下:

public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder =>
    {
        webBuilder.UseStartup<Startup>();
        webBuilder.ConfigureAppConfiguration((hostingContext, config) =>
        {
            var settings = config.Build();
            var url = settings.GetSection("url").Value;

        });

    });

【讨论】:

    【解决方案2】:

    试试这个

    Host.CreateDefaultBuilder(args)
                    .ConfigureWebHostDefaults(webBuilder =>
                    {
                        webBuilder.UseStartup<Startup>();
                    })
                 .ConfigureServices((hostContext, services) =>
                 {
                     IConfiguration configuration = hostContext.Configuration;
                      var url = configuration.GetSection("url");
                 });
    

    【讨论】:

    • 嘿,谢谢,但我必须在 configureAppConfiguration() 中获取 Iconfiguration
    猜你喜欢
    • 2019-04-15
    • 1970-01-01
    • 2021-01-05
    • 2012-06-01
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 2012-10-06
    • 2018-06-07
    相关资源
    最近更新 更多