使用外联文件对Web.config的appSettings进行配置

使用外联文件对Web.config的appSettings进行配置

        在Asp.net开发中Web.config文件中的appSettings的使用几乎是必不可少的,我们经常会在appSettings文件对系统做一些全局参数的配置,做法是添加一系列的add节点,为add节点设置key和value属性,例如配置登录是否需要验证码。在Web.config文件中大致的写法会是这样:
Web.config文件中appSettings节点的配置
?
1
2
3
< appSettings >
     < add key = "NeedLoginCode" value = "Not" />
</ appSettings >

        随着系统的深入开发,越来越多的add节点会被加入到appSettings节点中,单服环境、内网测试环境、外网测试环境、正式环境,不同的环境中同一个add节点的value可能会是不同的,于是可能会出现以下的配置,对不同的环境做不同的配置,然后把不属于要发布到的环境的配置注释掉: 
不同环境下对同一个appSettings的add节点进行配置
?
1
2
3
4
5
6
7
8
< appSettings >
     <!-- 登录是否需要验证码:单服、内网测试 -->
     < add key = "NeedLoginCode" value = "Not" />
     <!-- 登录是否需要验证码:外网测试 -->
     <!-- <add key="NeedLoginCode" value="Num"/> -->
     <!-- 登录是否需要验证码:正式平台 -->
     <!-- <add key="NeedLoginCode" value="NumAndChar"/> -->
</ appSettings >

        这样子做带来的不便是每次发布都要使用相应的节点,把不对应的节点注释掉,并且appSettings节点膨胀得厉害,看起来有点恶心...
        之前在网上找资料的时候发现appSettings节点是可以使用外联文件来配置的,做法比较简单,把appSettings节点抽出来放到一个单独的文件中去,例如我们在根目录的下的configs目录创建一个IntranetAppsettings.xml,这个文件的内容如下:
configs/IntranetAppsettings.xml
?
1
2
3
4
5
6
7
<? xml version = "1.0" encoding = "utf-8" ?>
<!-- 单服、内网测试的appSettings配置 -->
< appSettings >
     <!-- 登录是否需要验证码 -->
     < add key = "NeedLoginCode" value = "Not" />
     <!-- 其他的配置... ... -->
</ appSettings >
       
        有了上面的文件后,Web.config文件的appSettings节点修改如下,把configs/IntranetAppsettings.xml文件链接到Web.config文件的appSettings节点:
修改后的Web.config文件
?
1
2
3
4
<? xml version = "1.0" encoding = "utf-8" ?>
< configuration >
     < appSettings configSource = "configs/IntranetAppsettings.xml" />
</ configuration >
        
        同样的道理,创建另外几个和configs/IntranetAppsettings.xml类似的文件,用于做其他环境的配置,在发布的时候,只要修改Web.config文件中appSettings节点的configSource属性就OK鸟~
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值