• .net core 3.0 实现读取appsettings.json配置文件


    转自:https://www.cnblogs.com/jiyuwu/p/11776044.html

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

    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

  • 相关阅读:
    vue技术分享之你可能不知道的7个秘密
    JVM知识总结-运行时区域划分
    如何使用加多宝(jdb)在linux下调试Java程序
    RabbitMQ 高可用之镜像队列
    Gson格式转换Integer变为Double类型问题解决
    IPv6地址表示方式
    MySQL truncate()函数的使用说明
    Java 实现判断 主机是否能 ping 通
    MySQL 性能优化系列之一 单表预处理
    Linux 查看CPU和内存的使用情况
  • 原文地址:https://www.cnblogs.com/fightingstepup/p/13289443.html
Copyright © 2020-2023  润新知