使用外联文件对Web.config的appSettings进行配置
2010-11-21 10:56:08
在Asp.net开发中Web.config文件中的appSettings的使用几乎是必不可少的,我们经常会在appSettings文件对系统做一些全局参数的配置,做法是添加一系列的add节点,为add节点设置key和value属性,例如配置登录是否需要验证码。在Web.config文件中大致的写法会是这样:
Web.config文件中appSettings节点的配置
1
2
3
|
|
随着系统的深入开发,越来越多的add节点会被加入到appSettings节点中,单服环境、内网测试环境、外网测试环境、正式环境,不同的环境中同一个add节点的value可能会是不同的,于是可能会出现以下的配置,对不同的环境做不同的配置,然后把不属于要发布到的环境的配置注释掉:
不同环境下对同一个appSettings的add节点进行配置
1
2
3
4
5
6
7
8
|
|
这样子做带来的不便是每次发布都要使用相应的节点,把不对应的节点注释掉,并且appSettings节点膨胀得厉害,看起来有点恶心…
之前在网上找资料的时候发现appSettings节点是可以使用外联文件来配置的,做法比较简单,把appSettings节点抽出来放到一个单独的文件中去,例如我们在根目录的下的configs目录创建一个IntranetAppsettings.xml,这个文件的内容如下:
configs/IntranetAppsettings.xml
1
2
3
4
5
6
7
|
|
有了上面的文件后,Web.config文件的appSettings节点修改如下,把configs/IntranetAppsettings.xml文件链接到Web.config文件的appSettings节点:
修改后的Web.config文件
1
2
3
4
|
|
同样的道理,创建另外几个和configs/IntranetAppsettings.xml类似的文件,用于做其他环境的配置,在发布的时候,只要修改Web.config文件中appSettings节点的configSource属性就OK鸟~