是否有一种内置的方式来序列化数组配置值
本文关键字:方式 序列化 数组 配置 内置 一种 是否 | 更新日期: 2023-09-27 18:03:57
我正在使用一个新的ASP。. NET 5项目。
我试图读取一个数组值,存储在我的config.json
文件中,看起来像这样:
{
"AppSettings": {
"SiteTitle": "MyProject",
"Tenants": {
"ReservedSubdomains": ["www", "info", "admin"]
}
},
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)''mssqllocaldb;Database=aspnet5-MyProject....."
}
}
}
我如何从我的c#代码访问这个?
至少在beta4中不支持config.json
中的数组。看到ASP。NET第620期。但您可以使用以下config.json
:
"AppSettings": {
"SiteTitle": "MyProject",
"Tenants": {
"ReservedSubdomains": "www, info, admin"
}
}
并将其映射到如下的类:
public class AppSettings
{
public string SiteTitle { get; set; }
public AppSettingsTenants Tenants { get; set; } = new AppSettingsTenants();
}
public class AppSettingsTenants
{
public string ReservedSubdomains { get; set; }
public List<string> ReservedSubdomainList
{
get { return !string.IsNullOrEmpty(ReservedSubdomains) ? ReservedSubdomains.Split(',').ToList() : new List<string>(); }
}
}
这可以被注入到控制器中:
public class MyController : Controller
{
private readonly AppSettings _appSettings;
public MyController(IOptions<AppSettings> appSettings)
{
_appSettings = appSettings.Options;
}