Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 記錄軟體開發的點點滴滴 著重於微軟技術、網頁開發、DevOps、C#, Asp .net Mvc、Azure、AI、Chatbot、Docker、Data Science

[.net core]如何在開發階段透過Visual Studio設定不同的執行環境 (環境變數)

2019-01-16 Wednesday
[.net core]如何在開發階段透過Visual Studio設定不同的執行環境 (環境變數).jpg
圖片來源:https://pixabay.com/en/despair-alone-being-alone-archetype-513528/

在上一篇([faq]ASP .NET Core 如何在開發的情況下讓Controller不需要過Authorization (驗證))介紹了如何透過當執行環境是Development的時候不要過驗證。

透過那樣的設定可以讓開發者在開發階段的時候不用擔心驗證的部分。不過有時候需要把驗證的部分一起考慮進去怎麽辦?

例如想要做整合測試,確保需要權限的api邏輯沒有錯誤的時候怎麽辦?總不能夠直接打staging的機器吧。

這件事情其實在Visual Studio可以很容易的辦到,來看看如何切換執行環境。

.Net Core怎麽判斷目前是否是Development環境

要解決這個問題首先要先瞭解一下.Net core是依照什麽機制來判定目前是屬于Development環境。

.Net Core在runtime的時候會檢查一個環境變數(Environment Variable)叫做ASPNETCORE_ENVIRONMENT,依照這個環境變數的值來決定目前是不是Development或者Staging或者Production

題外話,除了這三個内建常見的之外,也可以設定成爲任意自己自訂的名稱,在IHostingEnvironment.EnvironmentName可以取到值。

所以其實可以透過設定Windows目前使用者的環境變數,加上ASPNETCORE_ENVIRONMENT,然後設定對應值來切換。

不過這麽做還是不太便利,畢竟要改環境變數尤其是只是開發用到的感覺太麻煩。

使用Visual Studio的Debug Profile

Visual Studio其實有地方可以讓我們快速切換任何環境變數,我不太確定這個地方的官方名稱是什麽,不過這邊先暫時叫他Debug Profile。

要使用這個Profile需要做兩個事情:

  1. 設定Profile
  2. 使用Profile
那麽就先從設定Profile開始。

設定Profile

要設定Profile很簡單,只需要對任何一個要被執行的專案點右鍵,然後選擇Properties

2019-01-16_22-05-03.png
一個Asp .Net Core Web Api的專案點下右鍵然後properties

接下來:

  1. 切換到Debug的tab
  2. 可以看到目前有一個Profile叫做IIS Express
  3. 然後這個裡面有設定Environment VariableASPNETCORE_ENVIRONMENT = Development
devenv_2019-01-16_22-07-37.png
預設的Profile設定

題外話,這也是爲什麽從Visual Studio執行,不管是Debug build還是Release Build環境都屬於Development,因爲這個profile設定了。

看到了預設的設定之後,怎麽增加一個新的呢?

要增加新的一個profile只需要:

  1. 按下profile下拉旁邊的 New
  2. 輸入profile名稱 - 例如 IIS Express - Prod 代表模擬正式環境
  3. 按下 OK
devenv_2019-01-16_22-09-55.png
增加一個新的profile

增加完了profile接下來就是對這個profile做設定:

  1. 在Launch的下拉選擇IIS Express - 這個地方還有別的應用,在另外一篇在介紹啦
  2. 在Environment Variable那一欄右邊的Add點下去
  3. 在Name的部分輸入ASPNETCORE_ENVIRONMENT
  4. 在Value的部分輸入Production
  5. 最後按下存檔
devenv_2019-01-16_22-13-32.png
設定profile

這樣Profile就設定好了。

使用profile

剛剛的profile設定好了之後,那麽該如何使用呢?

要使用很簡單,只需要對執行網站的綠色三角形的旁邊下拉點按下去,就會看到剛剛加入的Profile

devenv_2019-01-16_22-17-34.png
切換Profile

切換之後,profile名稱會變,這個時候用一般執行網站方式(點他,或者Ctrl+F5或者F5都可以)

devenv_2019-01-16_22-20-12.png
切換profile完成準備執行

結語

切換環境這個事情一開始可能覺得不太會用到,但是到後面會發現,爲了開發方便以及可以做整合測試,兩個環境切來切去常發生,這個時候Visual Studio的這個功能可以節省非常大量的時間。

以上希望對大家有幫助。


如果文章對您有幫助,就請我喝杯飲料吧
街口支付QR Code
街口支付QR Code
台灣 Pay QR Code
台灣 Pay QR Code
Line Pay 一卡通 QR Code
Line Pay 一卡通 QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
2019-01-16 Wednesday
comments powered by Disqus