我正在编写一个配置系统,其中app.config文件是从分布在多个位置的各种配置片段动态构建的。该系统目前的工作流程如下:
移动到一个AppDomain后,工作流程将更改为:
我能够迭代新配置文件中的所有配置部分并强制刷新它们,但这会强制配置管理器加载在配置文件中引用的任何程序集。如果可能,我想推迟这个过程。是否有一种方法来使ConfigurationManager内存中当前的部分无效?
- 引导程序构建配置文件。
- 引导程序使用新配置文件初始化新的AppDomain作为配置文件。
- 结果,新的AppDomain被配置为使用新的配置文件,一切正常。
移动到一个AppDomain后,工作流程将更改为:
- 引导程序构建配置文件。
- 引导程序将配置文件合并到自己的配置文件中。
- 引导程序刷新其ConfigurationManager缓存。
- 引导程序在同一个AppDomain中启动主应用程序。
ConfigurationManager.RefreshSection("appSettings");
实际上,我必须确保引导程序使用的任何部分都已被刷新。我能够迭代新配置文件中的所有配置部分并强制刷新它们,但这会强制配置管理器加载在配置文件中引用的任何程序集。如果可能,我想推迟这个过程。是否有一种方法来使ConfigurationManager内存中当前的部分无效?