web.config里面使用configSource
web.config里面使用configSource如果web.config里面的配置信息比较多,我们可以将这些配置信息写在多个config文件中,然后利用configSource将这些config文件包含进来。
一、例如原web.config文件
<configuration>
<!-- appSettings网站信息配置-->
<appSettings>
<add key="SiteResource" value="http://m.studyofnet.com"/>
<add key="SiteUrl" value="http://www.studyofnet.com" />
<add key="SiteKeyword" value="学习也休闲"/>
</appSettings>
<connectionStrings>
<add name="connectionStrings"
connectionString="....."
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
</configuration>
二、可以提取出两个单独的配置文件
1、appSettings.config
<?xml version="1.0" encoding="utf-8"?>
<appSettings>
<add key="SiteResource" value="http://m.studyofnet.com"/>
<add key="SiteUrl" value="http://www.studyofnet.com" />
<add key="SiteKeyword" value="学习也休闲"/>
</appSettings>
2、connectionStrings.config
<?xml version="1.0"?>
<connectionStrings>
<add name="connectionStrings"
connectionString="....."
providerName="System.Data.SqlClient" />
</connectionStrings>
三、使用configSource将这两个文件包含进web.config
<configuration>
<!-- appSettings网站信息配置-->
<appSettings configSource="config\\appSettings.config" />
<connectionStrings configSource="config\\connectionStrings.config"/>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
</system.web>
</configuration>
四、使用时需要注意的地方
1.如果指定了configSource,就以外部文件为准,web.config中connectionStrings下面的节点配置就无效了,即使web.config中connectionStrings下面的连接串节点没有删除掉也是无效的。
2.外部文件的根节点必须与web.config中指定的节点相同(其实就是将该节点的配置移到外部文件中)
3.一个节点只能指定一个外部配置文件,不能将多个节点的外部文件指定为同一个,如不能将connectionStrings与appSettings的configSource指定为同一个文件。