获取配置文件数据
配置文件
{
"RedisConfig":
{
"IsEnabled": true,
"ConnectionString": "localhost:6379,password=123456,defaultDatabase=1,ssl=false,writeBuffer=10240"
}
}
实体类
public class RedisConfig
{
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnabled { get; set; }
/// <summary>
/// Redis连接字符串
/// </summary>
public String ConnectionString { get; set; }
}
读取配置文件
IConfiguration config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddCommandLine(args)
.Build();
节点对象和实体类的映射
映射方式一
RedisConfig redisConfig = config.GetSection("RedisConfig").Get<RedisConfig>();
映射方式二
public class AppSettingUtil
{
static IConfiguration _configuration { get; set; }
public AppSettingUtil(IConfiguration configuration)
{
_configuration = configuration;
}
public static T Bind<T>(string key, T t)
{
_configuration.Bind(key, t);
return t;
}
}
builder.Services.AddSingleton(new AppSettingUtil(builder.Configuration));
RedisConfig redisConfig = new();
AppSettingUtil.Bind("RedisConfig", redisConfig);
获取单个项
var conn = config.GetValue<string>("RedisConfig:ConnectionString");
var conn = config["RedisConfig:ConnectionString"];
人生如逆旅
我亦是行人

浙公网安备 33010602011771号