所以我的情况是我有一个asp.net MVC项目,我希望将大多数站点特定的设置移动到不是Web.config的配置文件。这样做的原因是为了避免在更改设置时回收应用程序池,但我想保留很多已有的配置代码。所以我一直试图想出一种方法来将配置文件作为配置对象加载,而不是随应用程序加载的标准Web.config。我一直在查看一些配置管理器类来加载配置文件,但它们似乎都想要一个类可以找到机器,Web或应用程序配置的路径。那么可以将.config文件(不是web,app或machine)加载为Configuration对象吗?它看起来应该很简单,因为它只是XML,但我似乎错过了一些东西。
答案 0 :(得分:0)
配置更改导致重新启动应用程序域
对Web.config文件中的配置设置的更改会间接导致应用程序域重新启动。此行为是通过设计发生的。您可以选择使用configSource属性来引用在进行更改时不会导致重新启动的外部配置文件。有关更多信息,请参阅由Section Elements继承的General Attributes中的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>