当前位置:  开发笔记 > 前端 > 正文

强制ConfigurationManager重新加载所有部分

如何解决《强制ConfigurationManager重新加载所有部分》经验,为你挑选了0个好方法。

我正在编写一个配置系统,其中app.config文件是从分布在多个位置的各种配置片段动态构建的.该系统目前的工作原理如下:

    Bootstrapper构建配置文件.

    Bootstrapper使用新的配置文件作为配置文件初始化新的AppDomain.

    因此,新的AppDomain配置为使用新的配置文件,一切正常.

我们想摆脱这种多AppDomain方法; 它增加了一层复杂性,特别是涉及非托管库和其他遗留代码时.

在迁移到一个AppDomain时,工作流程将更改为:

    Bootstrapper构建配置文件.

    Bootstrapper将配置文件合并到自己的配置文件中.

    Bootstrapper刷新其ConfigurationManager缓存.

    Bootstrapper在同一个AppDomain中启动主应用程序.

似乎ConfigurationManager在内存中缓存部分.因此,例如,如果我在步骤#3之前阅读AppSettings,我必须调用:ConfigurationManager.RefreshSection("appSettings");实际上,我必须确保刷新了引导程序使用的任何部分.

我能够迭代新配置文件中的所有配置部分并强制刷新它们,但是,这会强制配置管理器加载配置文件中引用的任何程序集.如果可能的话,我想推迟这个.如果有办法使ConfigurationManager当前在内存中的内容无效?

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有