每天记录一点:NetCore获得配置文件 appsettings.json
用NetCore做项目如果用EF ORM在网上有很多的配置连接字符串,读取以及使用方法
由于很多朋友用的其他ORM如SqlSugar,NH,Dapper等,在读取连接字符串的时候,往往把信息保存到一个配置文件中,例如appsetting.json,
网上有很多关于读取appsetting.json都是通过注入的方式, 在ORM读取配置的时候,都是在一个类库里面,所以用注入的方式有时候不适合【个人理解】
因以上场景,下面这个方法读取配置可以在任何地方使用
喜欢NetCore的朋友,欢迎加群QQ:86594082
源码后续补上

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、最终读取结果