2.5配置的框架淺析「深刻淺出ASP.NET Core系列」

但願給你3-5分鐘的碎片化學習,多是坐地鐵、等公交,聚沙成塔,水滴石穿,謝謝關注。json

配置的使用流程

//第一步.初始化Builder
var builder = new ConfigurationBuilder();
//第二步.將Source添加到Builder
builder.AddJsonFile("student.json", false, true);
//builder.AddInMemoryCollection(dict)
//builder.AddXmlFile("/path/tmp.xml")
 
//第三步.調用Build
var configuration = builder.Build();
//第四步.使用
configurationRoot["key"]

第二步,在將Source添加到Builder的時候,內部作了哪些事情呢?框架

初始化對應的Source對象,好比Json文件配置源對象:ide

JsonConfigurationSource sr=new 
JsonConfigurationSource()
{
 Path = "settings.json",
}

 

第三步,Build時候在內部,生成Provider對象,一個Source對應一個Provider,最後返回ConfigurationRoot,該Root包含全部的Provider。學習

foreach(var source in sources)
{
 var provider = source.Build();
 providers.add(provider);
}
return new ConfigurationRoot(providers);

第四步,在使用的時候,經過Provider去找到相應的key,返回key值。ui

foreach(var provider in providers.Reverse())
{
 string value;
 provider.TryGet(key,out value);
 return value;
}

 

經過以上步驟,咱們能夠看到配置Source和配置Provider是關鍵的兩個要點。code

內部類關係圖

2.5配置的框架淺析「深刻淺出ASP.NET Core系列」

 

2.5配置的框架淺析「深刻淺出ASP.NET Core系列」

 

若是所示,若是要本身定義配置,必須實現接口IConfigurationSource,並在內部實現一個對應的Provider,該Provider必須繼承ConfigurationProvider抽象類,並在Provider讀取配置,對配置進行維護、同步、熱更新。具體如何定製,在後續進階和高級進行講解。xml

我是IT人張飛洪,入行10年有餘,人不堪其憂,吾不改其樂,謝謝您關注。對象

相關文章
相關標籤/搜索