.netCore3.0 + WebApi + Vue2.0项目搭建——(三)、读取appsettings.json

一、appsettings.json

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

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

二、新建公共类库

新建一个Helper文件夹用来存放帮助类,并添加一个AppSettings.cs
.netCore3.0 + WebApi + Vue2.0项目搭建——(三)、读取appsettings.json_第1张图片使用Nuget安装Microsoft.Extensions.Configuration和Microsoft.Extensions.Configuration.Json,Microsoft.Extensions.Configuration.Binder
编辑AppSettings.cs类,加入以下代码

/// 
    /// appsettings.json操作类
    /// 
    public class Appsettings
    {
        static IConfiguration Configuration { get; set; }
        static string contentPath { get; set; }

        public Appsettings(string contentPath)
        {
            string Path = "appsettings.json";

            //如果你把配置文件 是 根据环境变量来分开了,可以这样写
            //Path = $"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json";

            Configuration = new ConfigurationBuilder()
               .SetBasePath(contentPath)
               .Add(new JsonConfigurationSource { Path = Path, Optional = false, ReloadOnChange = true })//这样的话,可以直接读目录里的json文件,而不是 bin 文件夹下的,所以不用修改复制属性
               .Build();
        }

        public Appsettings(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        /// 
        /// 封装要操作的字符
        /// 
        /// 节点配置
        /// 
        public static string app(params string[] sections)
        {
            try
            {

                if (sections.Any())
                {
                    return Configuration[string.Join(":", sections)];
                }
            }
            catch (Exception)
            {

            }

            return "";
        }

        /// 
        /// 递归获取配置信息数组
        /// 
        /// 
        /// 
        /// 
        public static List<T> app<T>(params string[] sections)
        {
            List<T> list = new List<T>();
            Configuration.Bind(string.Join(":", sections), list);
            return list;
        }
    }

三、注册AppSettings.cs类

打开Startup.cs,编辑ConfigureServices方法,加入以下代码

//注册appsettings读取类
services.AddSingleton(new Appsettings(Configuration));

四、编辑appsettings.json文件,添加数据库连接

"AppSettings": {
    //数据库连接字符串
    "ConnectionString": "Server=127.0.0.1;User Id=用户id;Password=密码;Database=数据库名称;",
  }

.netCore3.0 + WebApi + Vue2.0项目搭建——(三)、读取appsettings.json_第2张图片

五、测试读取数据库连接

加入图中红色部分代码
.netCore3.0 + WebApi + Vue2.0项目搭建——(三)、读取appsettings.json_第3张图片

var text = AppSettings.app(new string[] { "AppSettings", "ConnectionString" });
Console.WriteLine($"ConnectionString:{text}");
Console.ReadLine();

运行项目就可以看到读取到了配置文件中刚添加的数据库连接
.netCore3.0 + WebApi + Vue2.0项目搭建——(三)、读取appsettings.json_第4张图片

你可能感兴趣的:(.netcore,vue.js)