Nec*_*ras 2 .net c# configuration .net-core
我有一些appsettings.json配置文件:
{
"PocoSettings": {
"ValueOne": "Foo",
"ValueTwo": "Bar"
}
}
Run Code Online (Sandbox Code Playgroud)
以及应该填充的设置对象:
public class PocoSettings
{
public string ValueOne;
public string ValueTwo;
}
Run Code Online (Sandbox Code Playgroud)
我尝试将其填充到我的Startup.cs文件中:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables();
this.Configuration = builder.Build();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
var MySettings = this.Configuration.GetSection("PocoSettings").Get<PocoSettings>();
// Inject MySettings into your DI container of choice here.
}
Run Code Online (Sandbox Code Playgroud)
该MySettings对象被创建,但不填充值。ValueOne并且ValueTwo均为null。为什么?
配置扩展需要显式的公共获取器和设置器。如果它们是隐式的,或者get或set是私有的,则不会映射POCO对象。该类应显示为:
public class PocoSettings
{
public string ValueOne { get; set; }
public string ValueTwo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
877 次 |
| 最近记录: |