.Net Core Configuration.GetSection().Get<>()未绑定。

6
我将尝试将appsettings.json中的设置注入到一个对象中,我正在遵循微软文档,但我的Configuration.GetSection().Get<>()始终为空。我使用的文档是此文档
我正在使用.Net Core 2.1。
我的设置如下:
{
  "MongoSettings": {
    "ConnectionString": "mongodb://admin:abc123!@localhost",
    "Database": "NotesDb"
  }
}

我要注入的类是这个:

public class MongoSettings
{
    public string ConnectionString;
    public string Database;
}

我正在使用以下代码来填充我的注入,但它总是为空。
Configuration.GetSection("MongoSettings").Get<MongoSettings>()

以下是我使用代码得到的返回结果:

enter image description here

我的配置没问题,看下面的图片。

enter image description here

我的对象为什么会出现ConnectionString和Database为空的情况?有人可以帮我吗?请指出我的错误。
1个回答

9

您的类只有2个字段。配置系统仅适用于属性。请在这两个字段末尾添加{ get; set; },以解决此问题。

public class MongoSettings
{
    public string ConnectionString { get; set; }
    public string Database { get; set; }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接