Bri*_*ell 9 c# asp.net-core asp.net-core-2.1
是否可以将 JSON 文件 (appsettings.json) 中的属性绑定到使用不同属性名称的类?
{
"WebTarget": {
"WebURL": "http://www.stackoverflow.com"
}
}
Run Code Online (Sandbox Code Playgroud)
public class MyServiceOptions
{
public string Url { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想获取该WebURL
设置并将其映射到Url
选项类中的属性。我已经尝试过[DataMember]
,[JsonProperty]
但它们不起作用。
我知道这并不理想,属性名称应该与 JSON 中的内容匹配,但这是一种特殊情况。
小智 12
在 ASP.NET 6 中,可以使用ConfigurationKeyNameAttribute绑定与对象属性名称不同的属性。
public class MyServiceOptions
{
[ConfigurationKeyName("WebURL")]
public string Url { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
对的,这是可能的。它需要更多的手动配置
services.Configure<MyServiceOptions>(myOptions => {
myOptions.Url = Configuration.GetSection("WebTarget").GetValue<string>("WebURL", string.Empty);
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3612 次 |
最近记录: |