为web.config的各个部分分隔配置文件

时间:2010-12-17 13:13:37

标签: asp.net iis-7

是否可以为web.config的特定部分分别配置文件?具体来说,我想将IIS 7的重写部分移出web.config并进入它自己的配置文件。

2 个答案:

答案 0 :(得分:41)

您当然可以将重写规则和映射移到单独的文件中:

  

Storing URL rewrite mappings in a separate file

<system.webServer>
  <rewrite>
    <rewriteMaps configSource="rewritemaps.config" />
    <rules configSource="rewriteRules.config" />
  </rewrite>
</system.webServer>

此外,您可以将相当多的配置部分移动到自己的文件中:

  

<appSettings configSource="appSettings.config" /> [Docs]

     

<connectionStrings configSource="connectionStrings.config"/> [Docs]

     

<pages configSource="pages.config"/> [Docs]

有关详细信息,请参阅此页面,它将帮助您确定配置部分是否可以存储在外部:

  

General Attributes Inherited by Section Elements

答案 1 :(得分:19)

是的,这是可能的。

对于每个配置部分,您可以将configSource属性设置为您保存配置的位置(文件)。

E.g:

<appSettings configSource="appSettings.config" />

appSettings.config

<?xml version="1.0" encoding="UTF-8"?>
<appSettings>
    <add key="myKey" value="myValue" />
</appSettings>