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);
这里利用递归,


最后读取出来

一个重载

 

 

  

posted @ 2024-03-28 18:01  孤海飞雁  阅读(4)  评论(0编辑  收藏  举报