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

Sla*_*ers 4 c# asp.net-core-2.1

我正在尝试将我的设置从 appsettings.json 注入到一个对象中,我正在关注 microsoft 文档并且我的 Configuration.GetSection().Get<>() 始终为空,我正在使用的文档就是这个文档

我正在使用 .Net Core 2.1

我的设置是这样的:

{
  "MongoSettings": {
    "ConnectionString": "mongodb://admin:abc123!@localhost",
    "Database": "NotesDb"
  }
}
Run Code Online (Sandbox Code Playgroud)

我要注入的课程是这样的:

public class MongoSettings
{
    public string ConnectionString;
    public string Database;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用以下代码来填充我的注入,它总是为空。

Configuration.GetSection("MongoSettings").Get<MongoSettings>()
Run Code Online (Sandbox Code Playgroud)

以下是我使用代码时得到的回报

在此处输入图片说明

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

在此处输入图片说明

ConnectionString 和 Database null 对我的对象做错了什么?有人能帮我吗?

Sco*_*ain 6

你的班级是 2 个领域。配置系统仅适用于属性。添加{ get; set; }到两个字段的末尾以修复它。

public class MongoSettings
{
    public string ConnectionString { get; set; }
    public string Database { get; set; }
}
Run Code Online (Sandbox Code Playgroud)