真的很纠结这个问题--应该这么难吗?
我的appsettings里有一个简单的对象数组。
"AppSettings": {
"Names": [
{
"Id": "1",
"Name": "Mike"
},
{
"Id": "2",
"Name": "John"
}
]
}
然后我有一个类
public class AppSettings
{
public List<Names> Names { get; set; } = new List<Names>();
}
public class Names
{
public string Id { get; set; }
public string Name { get; set; }
}
我在我的应用程序设置中读到。
var configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appSettings.json").Build();
var config = new AppSettings();
这就是出问题的地方
config.Names = configuration.GetSection("AppSettings:Names") //<<<< what do I do here?
好像这一切都与下列因素有关: IConfigurationSection
这是没有用的。
从设置中获取整个对象图,使用 "AppSettings "中的 ConfigurationBinder.Get<T>
绑定并返回指定类型。
ConfigurationBinder.Get<T>
绑定并返回指定类型。ConfigurationBinder.Get<T>
可能比使用ConfigurationBinder.Bind
. 下面的代码显示了如何使用ConfigurationBinder.Get<T>
随着AppSettings
类。
//...
AppSettings config = configuration.GetSection("AppSettings").Get<AppSettings>();
//...
参考文献 在ASP.NET Core中的配置