每个站点都有自己的Web.config文件,每个Web.config文件都有自己的connectionStrings节点和appSettings节点,
有时候,appSettings节点或者connectionStrings节点会有很多配置内容,为了方便管理及修改,我们可以把connectionStrings节点和appSettings节点的数据放在一个外部的配置文件中,Web.config通过configSource属性来引用外部文件。
下面举一个简单的例子来说明configSource如何使用
1.在解决方案中站点下新建一个Configs文件夹,并添加两个配置文件
我自己分别命名为AppSettings.config和ConnectionStrings.config,大家可以根据自己的喜好命名
2.将原本放在Web.config中connectionStrings节点和appSettings节点的配置分别复制到新建个两个配置文件中
AppSettings.config文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="WeChat:appid" value="3456789" />
<add key="WeChat:secret" value="secret20170629" />
</appSettings>
ConnectionStrings.config节点内容如下:
<?xml version="1.0" encoding="utf-8"?>
<connectionStrings>
<add name="myDB" connectionString="Data Source=.;Initial Catalog=DebugDBName;Persist Security Info=True;User ID=sa;Password=sa;Connect Timeout=120;"
providerName="System.Data.SqlClient" />
</connectionStrings>
3.修改Web.config中connectionStrings节点和appSettings节点引用外部文件
<connectionStrings configSource="Configs\ConnectionStrings.config" />
<appSettings configSource="Configs\AppSettings.config" />
注意事项:
(1)使用configSource,不影响原来获取配置文件值的代码
(2)使用configSource后,Web.config中不允许再添加add节点,否则报如下错误
(3)路径中不能使用/,只能使用\,否则解析不了