但願給你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
若是所示,若是要本身定義配置,必須實現接口IConfigurationSource,並在內部實現一個對應的Provider,該Provider必須繼承ConfigurationProvider抽象類,並在Provider讀取配置,對配置進行維護、同步、熱更新。具體如何定製,在後續進階和高級進行講解。xml
我是IT人張飛洪,入行10年有餘,人不堪其憂,吾不改其樂,謝謝您關注。對象