IIS 部署 .Net Core 設定環境變數方法
Contents
在驗證環境設定全域環境變數ASPNETCORE_ENVIRONMENT=Staging
,但我看環境沒有生效…。我後來嘗試開exe有吃到,猜測是 IIS
問題,最後找到這篇。
參考:[IIS] 從IIS設定環境變數指定ASP.NET Core站台的執行環境 | Ian Chen - 點部落
方法1: 系統設定環境變數(推薦)
後來入職進去,發現公司測試環境沒有在 IIS 設定相關設定,這就激起我的好奇心。發現他是用系統環境變數用的。
因為我突然想到,在學 .Net 課程時候有提到,相關設定環境變數後需要重啟命令提示字元,讓我猜測 IIS 環境變數也應該遇到一樣問題。後續重啟 IIS 服務可順利抓到環境變數。
|
|
Warning
重啟IIS上面伺服器、站台都沒有用,需要重啟IIS服務才會生效,這邊重開機理論上也可以吃到。
這種方法應該比較方便,網路很多教學都是在 IIS 設定環境變數,我這邊也有嘗試看看。可以繼續往下看。
方法2: IIS 上設定環境變數
IIS首頁 or 站台
設定編輯器
區段選擇 “system.webServer/aspNetCore”
environmentVariables
四個步驟花了不少時間,截圖記錄一下。
Sites選擇設定編輯器。我建議選擇主機全域設定,正常主機上面程式應該都會放相同環境,如測試環境只會放測試程式。
Tip
Sites專案站台也可以設定,但相對每個專案站台都要設定,所以還是建議設定在一個地方。
進去點擊專案會發現沒看到system.webServer/aspNetCore
,但其實要點下圖紅框。
再來把該打的環境變數打上去就OK了。
Tip
P.S. 選主機是全域站台設定,而站台是針對一個站台設定,選站台他是寫在站台的Web.Config,所以重新部署時如果蓋掉該檔就會失效。
Warning
這邊假如你有用 FFMpegCore 的話,需要注意也需要重啟 IIS 。