1

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

4

1 回答 1

0

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

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>
于 2013-07-16T22:49:14.117 回答