zoukankan      html  css  js  c++  java
  • .Net Core3.0 WebApi 三:读取appsettings.json

    .Net Core3.0 WebApi 目录

    appsettings.json

    我们在写项目时往往会把一些经常变动的,可能会变动的参数写到配置文件、数据库中等可以存储数据且方便配置的地方,这样会方便我们在项目上线以后做相对应的配置工作。

    .Core WebApi项目中我们将把配置文件统一放在appsettings.json文件中,我们将将写一个读取配置文件的公用类。

    新建公共类库

    新建类库Webapi.Core.Infrastructure,(基础设施)用来存放一些公用的方法

     

    使用Nuget安装Microsoft.Extensions.Configuration和Microsoft.Extensions.Configuration.Json,Microsoft.Extensions.Configuration.Binder, 编辑ConfigHelper.cs,代码如下:

     

    namespace WebApi.Core.Infrastructure.Helpers
    {
        public class ConfigHelper
        {
            private static readonly IConfiguration _configuration;
    
            static ConfigHelper()
            {
                //在当前目录或者根目录中寻找appsettings.json文件
                var fileName = "appsettings.json";
    
                var directory = AppContext.BaseDirectory;
                directory = directory.Replace("\", "/");
    
                var filePath = $"{directory}/{fileName}";
                if (!File.Exists(filePath))
                {
                    var length = directory.IndexOf("/bin");
                    filePath = $"{directory.Substring(0, length)}/{fileName}";
                }
    
                var builder = new ConfigurationBuilder()
                    .AddJsonFile(filePath, false, true);
    
                _configuration = builder.Build();
            }
    
            /// <summary>
            /// 获取Section的值
            /// </summary>
            /// <param name="key"></param>
            /// <returns></returns>
            public static string GetSectionValue(string key)
            {
                return _configuration.GetSection(key).Value;
            }
    
            /// <summary>
            /// 获取ConnectionStrings下的值
            /// </summary>
            /// <param name="key"></param>
            /// <returns></returns>
            public static string GetConnectionString(string key)
            {
                return _configuration.GetConnectionString(key);
            }
        }
    }

     

    读取appsettings.json

    编辑appsetting.json,添加一个红色部分

     

    {
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft": "Warning",
          "Microsoft.Hosting.Lifetime": "Information"
        }
      },
      "AllowedHosts": "*",
      "ConnectionStrings": {
        "ConnectionString": "Data Source=127.0.0.1;Initial Catalog=db;User ID=uid;Password=123456;Pooling=True;Max Pool Size=512;Connect Timeout=500;"
      }
    }

     

    var connStr = ConfigHelper.GetConnectionString("ConnectionString");
                Console.WriteLine(connStr);

     这样就读取到了。还有另外一个方法,感兴趣的,可以自行去尝试,看看是怎么用的。

  • 相关阅读:
    javascript运算符
    javascript字符串转数字
    javascript的变量声明和数据类型
    javascript的历史和入门
    CSS中定位
    CSS中盒子模型
    CSS操作表格的边框和表格的属性示例代码
    常用的CSS样式示例代码
    CSS伪类选择器
    CSS选择器
  • 原文地址:https://www.cnblogs.com/taotaozhuanyong/p/13793042.html
Copyright © 2011-2022 走看看