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

Posted jiyuwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了干货:.net core实现读取appsettings.json配置文件(建议收藏)相关的知识,希望对你有一定的参考价值。

看好多人不懂在.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": "*"
}

技术图片

 

 

 2.通用类库Common添加引用类库Microsoft.Extensions.Configuration.Json并添加AppSettingsHelper.cs

Install-Package Microsoft.Extensions.Configuration.Json -Version 3.0.0

技术图片

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"];

技术图片

 

 

第二种直接读文件调用。

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"];
        }

技术图片

 

 

简单介绍下原理:

我们通过ConfigurationBuilder对象来创建ConfigurationRoot对象,并用其来读取配置。SetBasePath()方法是用来设置我们配置对象需要的配置文件的基础路径,比如我们将基础路径设置为C:TemplateCoreTemplateCore,那么他读取我们的配置文件appsettings.json的路径将是C:TemplateCoreTemplateCoreappsettings.json

 

 

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

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

技术图片

 

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

 

以上是关于干货:.net core实现读取appsettings.json配置文件(建议收藏)的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core 仅部署适用的 appsettings.EnvironmentName.json

ASP.NET Core 自动刷新JWT Token #yyds干货盘点#

为 HTTPS 配置 ASP.NET Core 2.0 Kestrel

#yyds干货盘点#愚公系列2023年03月 .NET CORE工具案例-StackExchange.Redis代码变量方式实现商品秒杀

干货分享:ASP.NET CORE(C#)与Spring Boot MVC(JAVA)异曲同工的编程方式总结

.net core实现读取自定义配置文件