每天记录一点:NetCore获得配置文件 appsettings.json

Posted 爱搞事情的奋斗小青年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天记录一点:NetCore获得配置文件 appsettings.json相关的知识,希望对你有一定的参考价值。

用NetCore做项目如果用EF  ORM在网上有很多的配置连接字符串,读取以及使用方法

由于很多朋友用的其他ORM如SqlSugar,NH,Dapper等,在读取连接字符串的时候,往往把信息保存到一个配置文件中,例如appsetting.json,

网上有很多关于读取appsetting.json都是通过注入的方式,  在ORM读取配置的时候,都是在一个类库里面,所以用注入的方式有时候不适合【个人理解】

 

因以上场景,下面这个方法读取配置可以在任何地方使用

 

喜欢NetCore的朋友,欢迎加群QQ:86594082

源码地址:https://github.com/feiyit/SoaProJect

 

1、在项目中,新建一个NetCore的类库,创建类ConfigServices

namespace Core.Extensions
{
    /// <summary>
    /// 读取配置文件
    /// </summary>
    public class ConfigServices
    {
        public static IConfiguration Configuration { get; set; }
        static ConfigServices()
        {
            //ReloadOnChange = true 当appsettings.json被修改时重新加载            
            Configuration = new ConfigurationBuilder()
            .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
            .Build();
        }
    }
}

2、在Web项目下面appsettings.json里面增加自定义的配置

{
  "DBConnection": {
    "mysqlConnectionString": "server=localhost;database=fyt_ims;uid=root;pwd=123456;charset=\'utf8\';SslMode=None"
  },  
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  }
}

 

3、新建一个读取配置的类

namespace FytErp.Core.Model.ConfigModel
{
    /// <summary>
    /// 数据库连接字符串
    /// </summary>
    public class DBConnection
    {
        /// <summary>
        /// MySql数据库连接字符串
        /// </summary>
        public string MySqlConnectionString { get; set; }

        /// <summary>
        /// SqlServer数据库连接字符串
        /// </summary>
        public string SqlServerConnectionString { get; set; }
    }
}

 

4、编写测试读取配置

namespace FytErp.Web.Pages
{
    public class IndexModel : PageModel
    {
        public DbConnection DbSetting { get; private set; }
        public void OnGet()
        {
            //获得配置文件中的DBConnection节点
            DbSetting = ConfigServices.Configuration.GetSection("DbConnection").Get<DbConnection>();
        }
    }
}

 

5、最终读取结果

 

以上是关于每天记录一点:NetCore获得配置文件 appsettings.json的主要内容,如果未能解决你的问题,请参考以下文章

每天讲解一点PyTorch 10argparse.ArgumentParser

APS.NET Core- launchSettings.json

netcore磊科 无线网卡NW335

Net Core 2.1 日志记录框架NLog+Mysql配置

重新记录lichee zero开启AP模式

如何选择不同列值的最新记录?