繁体   English   中英

从 Startup.cs 中的 appsettings.json 访问值

[英]Accessing values from appsettings.json in the Startup.cs

我有一个尝试从 VS 运行的.Net Core 项目。 我正在尝试从 appsettings.json 访问值

假设我在 appsettings.json 中有这个值

"Heading": 
{
  "Path": "url"
}

我正在尝试在 Startup.cs 中获得该值

   public void ConfigureServices(IServiceCollection services)
  {
    string path = Configuration["Heading:Path"];
   }

这出现了 null。 我没有正确访问它吗?

Program.cs 有以下...

var config = new ConfigurationBuilder()
            .SetBasePath(System.IO.Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: 
true)
            .AddJsonFile($"appsettings.{environmentName}.json", optional: 
true, reloadOnChange: true)
            .Build();

您的代码似乎很好,我只是自己尝试过,两个路径变量都设置为“url”。

private readonly IConfiguration _configuration;

public Startup(IConfiguration configuration)
{
  _configuration = configuration;
}

public void ConfigureServices(IServiceCollection services)
{
  string path = _configuration.GetSection("Heading:Path").Value;
  string path2 = _configuration["Heading:Path"];
}

appsettings.json 应该如下所示(可能缺少外括号?):

{
  "Heading": {
    "Path": "url"
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM