[.NET Core] IIS 設定環境變數

   .NET Core Web專案在部署時,可以依據不同的環境變數切換不同的組態設定,例:appsettings.{env.EnvironmentName}.json。本文介紹針對部署至IIS後,如何在IIS上設定環境變數,來達到各階段的Site區分 例:QAS、Staggin、Production

Step by Step


1.在目標Site上打開Configuration Editor

image

2.左方選擇aspNetCore,右方選擇ApplicaiontHost.config (ps:這很重要),編輯enviromentVariables

image

3.加入環境變數ASPNETCORE_ENVIRONMENT=Stagging

image

4.加入後,記得按右上方的Apply,才會生效。

image

   作到此階段,一開始我的疑問是,這個設定是存在哪?此Site或是IIS的組態上? 還記得上述的第2點提到要選擇ApplicationHost.config嗎? 此設定會寫在IIS的組態上,這樣一來就不會因為下一次的部署而被覆蓋掉。而IIS的組態會使用location區隔此設定(如下圖),其他Site並不會套用到,所以可以直接透過在IIS上的設定,區分不同階段的Site。

image

C:\Windows\System32\inetsrv\config\applicationHost.config

參考來源


https://dotblogs.com.tw/dog0416/2016/08/26/164630

這個網誌中的熱門文章

[.NET Core] 將專案發行至IIS

[TFS] 分支與合併