将非web.config文件作为配置对象打开

本文关键字:配置 对象 web config 文件 将非 | 更新日期: 2023-09-27 18:22:34

所以我的情况是,我有一个asp.net MVC项目,我希望将大多数特定于站点的设置移动到一个不是Web.config的配置文件中。这样做的原因是为了避免在更改设置时回收应用程序池,但我想保留我已经拥有的很多配置代码。因此,我一直在尝试找到一种方法,将配置文件作为配置对象加载,而不需要将其作为与应用程序一起加载的标准Web.config。我一直在查看一些Configuration manager类来加载配置文件,但它们似乎都想要一个路径,该类可以找到机器、web或应用程序配置。那么,是否可以加载.config文件(不是web、应用程序或机器)作为配置对象?这看起来应该很容易,因为它只是XML,但我似乎缺少了一些东西。

将非web.config文件作为配置对象打开

配置更改导致应用程序域重新启动

对Web.config文件中配置设置的更改间接导致应用程序域重新启动。这种行为是故意发生的。您可以选择使用configSource属性引用外部配置文件,在进行更改时不会导致重新启动。有关详细信息,请参见节元素继承的常规属性中的configSource。MSDN

在web.config中:

<system.net>
   <myconfigSection>
       <myConfigEntry configSource="MyExtraConfig.config" />
   </myconfigSection>
</system.net>

在MyExtraConfig.config:中

<?xml version="1.0" encoding="utf-8" ?>
<myConfigEntry>
   <myConfigValue1 a="1" b="2" c="3" />
   <myConfigValue2 d="4" e="5" f="6""/>
</myConfigEntry>