背景
在.net core类库中读取配置文件,正常来讲我们在应用程序目录下有个appsettings.json文件对于相关配置都会放在这个json文件中,但是要是建立一个类库项目,对于一些配置比如密钥或者其他需要硬编码的数据放在JSON文件中,在.net core之前配置文件为web.config并且有相关的类来读取节点上的数据,现如今在.net core中为json文件,那么我们该如何做?
代码实现
假如在 项目根目录下创建一个 json 文件,内容如下:
{"arealist": [{"title": "中院级","childs": [{"id": "0","name": "宁德中院"}]},{"title": "各区级","childs": [{"id": "1","name": "蕉城区"},{"id": "2","name": "福安市"},{"id": "3","name": "福鼎市"},{"id": "4","name": "霞浦县"},{"id": "5","name": "古田县"},{"id": "6","name": "屏南县"},{"id": "7","name": "寿宁县"},{"id": "8","name": "周宁县"},{"id": "9","name": "柘荣县"}]}]
}
将注册服务的时候把配置文件与类绑定好值,然后在使用的时候去用
builder.Host.ConfigureAppConfiguration((hostingContext, config) =>
{config.AddJsonFile("areaData.json",optional: true,reloadOnChange: true); ;
});
然后在用的地方通过注入获取IConfiguration
private readonly IConfiguration _config;public NingdeChartController(IConfiguration config, INdChartBll chartBll){_chartBll = chartBll;_config = config;}
var disputes = _config.GetSection("arealist").Get<List<Class1AreaModel>>();