迭代并读取asp.net核心中的所有appsettings键

迭代并读取asp.net核心中的所有appsettings键,asp.net,asp.net-core,asp.net-web-api,asp.net-core-webapi,Asp.net,Asp.net Core,Asp.net Web Api,Asp.net Core Webapi,我在asp.net core 3.0 web api项目的appsettings.json文件中添加了一些配置,该文件如下所示: { "Logging":{..}, "AllowedHosts": "*", "Section1": { "Key1": "Value1", "Key2": "Value2", .... } } 我想遍历这个特定部分,第1部分中的所有键,并对它们执行一些操作。我尝试了以下方法,但无效: foreach (var key

我在asp.net core 3.0 web api项目的appsettings.json文件中添加了一些配置,该文件如下所示:

{
  "Logging":{..},
  "AllowedHosts": "*",
  "Section1": {
     "Key1": "Value1",
     "Key2": "Value2",
     ....
  }
}
我想遍历这个特定部分,第1部分中的所有键,并对它们执行一些操作。我尝试了以下方法,但无效:

foreach (var key in ConfigurationManager.AppSettings.AllKeys)
                {
                    var key = ConfigurationManager.AppSettings["Key1"];
                    // perform some action
                }
ConfigurationManager.AppSettings
不包含任何内容,如下面的屏幕截图所示:

我还需要做些什么才能让这一切顺利进行

我试过
var v=this.\u配置.GetSection(“Section1”).GetSection(“Key1”)其中
\u配置
i配置
类型,并按预期工作。但是,正如我提到的,我不想这样做,相反,我想遍历appsettings中的所有键列表,并对它们执行一些操作


任何帮助都会很好。

我在我的
程序.cs
文件中使用过这样的方法,它可以通过
appsettings.json
文件正确地提取值。您也可以这样尝试

Program.cs

IHost host = new HostBuilder()            
                 .ConfigureAppConfiguration((hostContext, configApp) =>
                 {
                     configApp.AddJsonFile($"appsettings.json", true);
                     configApp.AddJsonFile($"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json", true);
}
appsettings.json

{
  "https_port": 443,
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

在.NET Core中没有这样的类。文档中解释了如何创建和加载配置,如何将所有数据转换为键/值对,如何使用
GetSection
GetValue
查找节和值,以及如何从值中获取具体类型。我已经尝试过使用GetSection和GetValue,并且它也可以工作。但我在这里的要求是循环遍历键列表,并对它们进行一些处理,而不是使用硬编码的键名检索键值,这是GetSection或GetValueWhy的情况?你确定你没有误解配置系统,试图使用与使用ASP.NET配置相同的方式吗?顺便说一句,你可以使用枚举所有对这不是OP要求的