web.config快速切换环境

项目文件Web.config保存了各类配置信息,一般咱们在<appSettings>标签下添加<add key="" value="">用于程序中读取这些配置信息,如AppKey、SecretKey和远程服务器地址等。服务器

通常状况下,咱们开发调试的时候用一套配置,发布的时候又要用到另外一套环境,或者还有预发布环境,甚至更多其余的环境配置。那么,怎么快速切换这些环境配置呢?app

方法一:spa

clipboard.png

展开Web.config,下面有两个默认的配置文件,固然也能够本身再添加一些其余的配置。发布时选择某一套配置,会自动经过key值匹配,替换掉Web.config中的key值的value,具体替换语法再也不赘述,参见官方文档: http://go.microsoft.com/fwlin...
缺点:只在发布时比较方便。当生产环境出现bug时,须要将生产环境配置替换到本地程序中并调试,这时只能手动替换环境配置。调试


方法二:
直接将appSettings的配置文件剥离出Web.config文件,写入到新建的Dev.config文件中(.xml格式一样支持)code

<configuration>
  <appSettings configSource="config\Dev.config" />
</configuration>

在Dev.config中,写法也很简单:xml

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
  <add key="AppKey" value="DEV@2018"/>
  <add key="AppSecret" value="volh332ldifjsk2"/>
</appSettings>

缺点:在多套配置文件中可能存在相同的key值,一旦改动,须要在每一个配置文件中都改一下。blog


方法三:
这实际上是方法二的升级版,写法以下:ip

<configuration>
  <appSettings file="config/Dev.config">
      <add key="AppID" value="APPID@2018DEV">
  </appSettings>
</configuration>

Dev.config的写法同方法二。
优势:在方法二的基础上,进一步提取出公共的key值,修改时只需在Web.config中修改一次便可。utf-8


总结:三个方法也是我依次走过的路,在尝试方法二的时候,mac版的VisualStudio中,使用congfigSource的同时也能够像方法三同样写法,可是搬到Windows平台上时就会报错,因此才另作尝试有了方法三。开发

相关文章
相关标签/搜索