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平臺上時就會報錯,因此才另作嘗試有了方法三。開發

相關文章
相關標籤/搜索