.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实现读取自定义配置文件的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 配置 - 创建自定义配置提供程序

.NET Core 3.0之深入源码理解Configuration

.NET Core 3.0之深入源码理解Configuration

一文了解.Net Core 3.1 Web API基础知识

如何读取.NET Core中属性内的配置(appsettings)值?

干货:.net core实现读取appsettings.json配置文件(建议收藏)