我想創建一個強類型的配置節,但掙扎。示例顯示我可以擁有一個POCO,並且只需在我的json中有一個條目,這應該會自動解決。強類型配置asp核心
這就是我在ConfigureServices()
。請注意,該configuration
是IConfigurationRoot
:
public void ConfigureServices(IServiceCollection services)
{
services
.AddOptions()
.AddMvcCore()
.AddJsonFormatters();
services.Configure<MySettings>(this.configuration.GetSection("MySettings"));
}
這是我的POCO
public class MySettings
{
public string Foo { get; set; }
}
我得到一個編譯錯誤Error:(41, 44) : Argument 2: cannot convert from 'Microsoft.Extensions.Configuration.IConfigurationSection' to 'System.Action<MySettings>'
。
的JSON配置:
{
"MySettings": {
"Foo": "hello world"
}
}
很顯然,我在做一些愚蠢的,但不確定這可能是什麼。網絡上的所有消息都表明這個「應該」工作。
如果需要更多信息,我可以提供。
您是否對您的project.json中的Microsoft.Extensions.Options.ConfigurationExtensions存在依賴關係?你需要的是,然後注入的是IOptions然後讓MySettings訪問IOptions的.Value屬性 –
是的,我注意到了這一點,但是this.configuration.GetSection(「」)。綁定(你的對象實例) ;可能是失蹤的難題 –
我在做同樣的事情沒有。綁定它適用於我 –