get*_*ode 4 c# asp.net asp.net-core
appsettings.json我在我的...中定义了以下内容
{
"Environments": [
{
"Name": "One",
"CloudServices": [
"name1",
"name2"
]
},
{
"Name": "Two",
"CloudServices": [
"name3",
"name4"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
...以及以下强类型模型:
public class EnvironmentModel
{
public string Name { get; set; }
public string[] CloudServices { get; set; }
}
public class EnvironmentsConfig
{
public EnvironmentModel[] Environments { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我希望我可以Startup像这样绑定它:
services.Configure<EnvironmentsConfig>(Configuration.GetSection("Environments"));
Run Code Online (Sandbox Code Playgroud)
但是,当注入我的控制器时,IOptions<EnvironmentsConfig>该值为空。是否可以像这样绑定强类型数组?如果不是,推荐的方法是什么?部署之间的环境数量可能有所不同,因此我需要一个数组。
您的配置部分Environments包含一个 数组EnvironmentModel,而不是EnvironmentsConfig. 要修复它,您只需使用配置的根目录而不是部分。例如:
services.Configure<EnvironmentsConfig>(Configuration);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
785 次 |
| 最近记录: |