配置系统有3个核心对象
IConfigurationSource 代表配置数据最原始的来源
IConfigurationBuilder是IConfiguration对象的创建者
IConfiguration 读取配置信息的对象
一、在内存中读取配置文件
二、在持久化文件读取配置文件
appsettings.json
{ "ConnectionStrings": { "Default": "Server=.; Database=demoDb;" }, "Subject": "english", "Student": [ { "age": 15, "name": "tom" }, { "age": 16, "name": "liu" } ], "SqlServer": { "Host": "192.168.1.0", "Port": 6215 } }
控制台读取配置文件
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Json
var config = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build(); //读取连接数据库串 Console.WriteLine(config.GetConnectionString("Default")); //读取节点值 Console.WriteLine(config.GetSection("Subject").Value); //读取节点值的另一种方式 Console.WriteLine(config["Subject"]); //读取嵌套内的值 Console.WriteLine(config["SqlServer:Host"]); //读取Student第一个数组内的配置 Console.WriteLine(config["Student:0:age"]); Console.ReadLine();
MVC中使用
不需要单独配置什么,直接依赖注入
public class HomeController : Controller { private IConfigurationRoot ConfigRoot; public HomeController(IConfiguration configRoot) { ConfigRoot = (IConfigurationRoot)configRoot; } public IActionResult Index() { return Content(ConfigRoot["SqlServer:Host"]); } }