簡體   English   中英

AZURE_FUNCTIONS_ENVIRONMENT 與 ASPNETCORE_ENVIRONMENT

[英]AZURE_FUNCTIONS_ENVIRONMENT vs ASPNETCORE_ENVIRONMENT

在 azure 函數(v2、c#)中,有兩個環境變量可以潛在地用於標識當前環境的名稱。

  • AZURE_FUNCTIONS_ENVIRONMENT
  • ASPNETCORE_ENVIRONMENT

我打算使用AZURE_FUNCTIONS_ENVIRONMENT ,我想知道是否有理由選擇一個?

就兩者的行為而言,這是我發現的:

  • AZURE_FUNCTIONS_ENVIRONMENT被函數主機/運行時設置為本地Development 它不會在 azure 中自動設置為Production 可以在 azure 中的應用設置中進行設置。
  • ASPNETCORE_ENVIRONMENT不是由本地或 Azure 中的函數主機/運行時設置的。

幾周前我也提出了一個關於這個的github 問題,但沒有得到回應。 我希望我能在這里得到答案。

為了大家的利益,在此處添加來自 github 問題官方答案

您需要使用AZURE_FUNCTIONS_ENVIRONMENT 在 Azure 上為 Function 應用提供支持的 Functions 運行時是此存儲庫中的 WebHost 項目。 在主機初始化時,它會查找AZURE_FUNCTIONS_ENVIRONMENT應用設置(作為EnvironmentSettingNames.EnvironmentNameKey並將其傳遞給 IWebHostBuilder 僅使用ASPNETCORE_ENVIRONMENT可能會導致所需的行為更改和遙測丟失。

ASPNETCORE_ENVIRONMENT是默認環境變量,用於確定IHostingEnvironment的環境。 IHostingEnvironment目前有兩個實現。 一個可以在這里找到並且只能在內部使用。 另一個可以在這里找到。

我不知道為什么有AZURE_FUNCTIONS_ENVIRONMENT的確切想法。 對於 ASP.NET Core 應用程序,我建議您堅持使用IHostingEnvironment IHostingEnvironment的版本將在未來替換為IWebHostEnvironment 隨着 3.0 的發布,他們將繼續支持兩者,直到將其刪除。 它將被標記為過時。

在您的函數中,您始終可以設置自定義變量並通過Environment.GetEnvironmentVariable("MY-VAR")訪問它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM