首先在配置文件中加入类型,一会我们测试读取
一、读取配置文件中的value:单个值
代码如下
/// <summary>
/// 操作配置文件
/// </summary>
/// <returns></returns>
public IActionResult Index()
{
var dataList = new List<Tuple<string, object>>();
string key = null;
//读取配置文件步骤:
//1.初始化配置文件构造器
var builder = new ConfigurationBuilder();
//2.指定配置文件位置
var rootPath = Directory.GetCurrentDirectory();
builder.SetBasePath(rootPath).AddJsonFile("appsettings.json");
//3.构造配置文件,然后就可以开始读取配置文件了
var configContainer = builder.Build();
//配置文件中有一个默认的key:ConnectionStrings,可以使用GetConnectionString方法读取下面的配置
var connectionString = configContainer.GetConnectionString("DbConnectionString");
dataList.Add(new Tuple<string, object>("DbConnectionString", connectionString));
//读取自定义配置的方法
//1.GetValue(key)
var name1 = configContainer.GetValue<string>("UserName");
dataList.Add(new Tuple<string, object>("UserName", name1));
//2.[key]
var age1 = configContainer["Age"];
dataList.Add(new Tuple<string, object>("Age", age1));
//读取自定义对象的value的方法:使用key:key
key = "Person:Name";
var personName = configContainer[key];
dataList.Add(new Tuple<string, object>(key, personName));
//读取数组的方法:key:index:key
key = "PersonList:1:Son:Name";
var sonName = configContainer[key];
dataList.Add(new Tuple<string, object>(key, sonName));
//读取自定义对象的方法:见startup类
//DbConnectionString = ---,UserName = 张三,Age = 23,Person:Name = 李四,PersonList:1:Son:Name = 狗蛋
return Content(string.Join(",", dataList.Select(r => string.Format("{0} = {1}", r.Item1, r.Item2))));
}
读取自定义实体:将配置文件读取到对象中
定义一个对象:
在startup中配置:
使用:
如果想要在startup文件中使用,可以这样:
Ending~