.net core 类库 读取配置文件
电脑版发表于:2021/7/23 13:04
如果非类库的话是可以直接读取的,但是类库里面已经不自带读取配置文件的方法了,
需要引用NuGet包,Microsoft.Extensions.Configuration.json才能读取配置文件
1.先引用NuGet包
Microsoft.Extensions.Configuration.Json
2.写入数据到appsettings.json配置文件中
"Redis": {
"Default": {
"Connection": "127.0.0.1:6379",
"InstanceName": "local",
"DefaultDB": 8
}
}3.下面就是使用的方法
private static 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>
/// 读取配置文件
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static IConfigurationSection GetSection(string key)
{
return _configuration.GetSection(key);
}
/// <summary>
/// 读取配置文件的值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static string GetSectionValue(string key)
{
return _configuration.GetSection(key).Value;
}
/// <summary>
/// 读取配置文件的值
/// </summary>
/// <param name="key">这里表示配置文件中的Redis</param>
/// <param name="key1">表示Connection...等三级目录下的文件</param>
/// <returns></returns>
public static string GetSectionValue(string key,string key1)
{
return _configuration.GetSection(key).GetSection(key1).Value;
}