.net core实现读取自定义配置文件
Posted dotNET跨平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net core实现读取自定义配置文件相关的知识,希望对你有一定的参考价值。
背景
在.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>>();
以上是关于.net core实现读取自定义配置文件的主要内容,如果未能解决你的问题,请参考以下文章
.NET Core 3.0之深入源码理解Configuration
.NET Core 3.0之深入源码理解Configuration