ConfigurationBuilder 读取文件流程
1 AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); 最后 ConfigurationBuilder 添加addjson的信息,存到集合 IList<IConfigurationSource>里
2 build()
2.1 IConfigurationProvider.build() 注册 ChangeToken.OnChange 添加 一个监控和回调委托 ,返回注册 token
2.2 new ConfigurationRoot(providers); 读取配置文件
3 当监控的配置文件改动时,ChangeToken.OnChange 添加 一个监控和回调委托,
监控委托最后在 PhysicalFilesWatcher 类里 通过注册 FileSystemWatcher 里的事件 来改变来启动并监控更改,然后通过流读取数据。这里利用递归,读取配置文件文件,然后重新注册IChangeToken,更改标识符
将ChangeToken.OnChange 事件添加到 List<IDisposable>集合里
new ConfigurationRoot(providers);
这里利用递归,
最后读取出来
一个重载