欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-20 17:14:27
看好多人不懂在.NET CORE中如何读取配置文件,我这里分两篇,这一篇介绍怎样通过appsettings.json配置读取文件信息。这里我会教大家两种方式: 第一种直接放到通用类库,那里想调往那调。 1.编辑我们的appsettings.json文件 2.通用类库Common添加引用类库Micro ......

看好多人不懂在.net core中如何读取配置文件,我这里分两篇,这一篇介绍怎样通过appsettings.json配置读取文件信息。这里我会教大家两种方式:

第一种直接放到通用类库,那里想调往那调。

1.编辑我们的appsettings.json文件

{
  "logging": {
    "loglevel": {
      "default": "information",
      "microsoft": "warning",
      "microsoft.hosting.lifetime": "information"
    }
  },
  "connectionstrings": {
    "testconnection": "server=123;user id=jiyuwu;password=123456;database=jiyuwu;",
    "redis": "127.0.0.1:6379"
  },
  "allowedhosts": "*"
}

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

 

 

 2.通用类库common添加引用类库microsoft.extensions.configuration.json并添加appsettingshelper.cs

install-package microsoft.extensions.configuration.json -version 3.0.0

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

using microsoft.extensions.configuration;
using microsoft.extensions.configuration.json;
using system;
using system.collections.generic;
using system.text;

namespace common
{
        public class appsettingshelper
        {
            public static iconfiguration configuration { get; set; }
            static appsettingshelper()
            {
                //reloadonchange = true 当appsettings.json被修改时重新加载            
                configuration = new configurationbuilder()
                .add(new jsonconfigurationsource { path = "appsettings.json", reloadonchange = true })
                .build();
            }

        }
    }

3.调用

string sqlstring= appsettingshelper.configuration.getconnectionstring("testconnection");
string sqlstring1 = appsettingshelper.configuration["logging:loglevel:default"];

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

 

 

第二种直接读文件调用。

1.引用类库并读取文件获取配置

install-package microsoft.extensions.configuration.json -version 3.0.0
public iconfiguration configuration;
public void testappsettings()
        {
            var builder = new configurationbuilder()
               .setbasepath(directory.getcurrentdirectory())
               .addjsonfile("appsettings.json", optional: true, reloadonchange: true);
            configuration = builder.build();
            string sqlstring2 = configuration["logging:loglevel:default"];
        }

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

 

 

简单介绍下原理:

我们通过configurationbuilder对象来创建configurationroot对象,并用其来读取配置。setbasepath()方法是用来设置我们配置对象需要的配置文件的基础路径,比如我们将基础路径设置为c:\templatecore\templatecore,那么他读取我们的配置文件appsettings.json的路径将是c:\templatecore\templatecore\appsettings.json

 

 

开源地址:https://github.com/jiyuwu/templatecore

测试浏览效果:http://127.0.0.1:1994/home/testappsettings

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

 

 帮助到你的话请点个推荐,谢谢。