获取配置文件数据

配置文件

{
  "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"];
posted @ 2024-04-26 10:25  相遇就是有缘  阅读(10)  评论(0)    收藏  举报