我知道這還在預覽階段,但我只想確定我沒有做錯什么,因為我過去也做過這樣的事情。 我在屬性中設定了我的環境變數。

而我正試圖設定我的測驗:
[]
public void Initialize()
{
var test = Environment.GetEnvironmentVariables()。
//test列舉了所有的環境變數,沒有看到它。
var connectionString = Environment.GetEnvironmentVariable("CONNECTION_STRING"/span>)。
if (string.IsNullOrWhiteSpace(connectionString)) //所以這顯然是空的。
throw new ArgumentNullException("CONNECTION_STRING") 。
_ConnectionString = connectionString。
}
正如你在我的評論中所看到的,環境變數沒有被發現/加載。
我錯過了什么?謝謝你。
uj5u.com熱心網友回復:
我假設你使用的是Visual Studio 2022,因為你使用的是.NET 6和最小的主機(即沒有Startup.cs)?
一般情況下,我們傾向于不在環境變數中存盤資訊,因為這些資訊通常會被上傳到GitHub,并可能被搜索到并用來對付你。
對于本地開發秘密,我們傾向于使用secrets.json檔案來存盤這些資訊。在安全存盤秘密上有關于如何做到這一點的資訊,以及在訪問組態檔資訊上有關于訪問組態檔的詳細資訊。
對于TL;DR來說:下面的步驟可能會有所幫助(這是我在我的Blazor應用程式中使用.NET 6時的做法):
- 在Visual Studio 2022中,右擊相關專案并選擇 "管理用戶秘密"。 這將創建一個本地
secrets.json檔案并打開它。 它還將在你的專案瓦片中添加一個GUID,用于UserSecretsId. 。
- 在這個檔案中以JSON鍵值對的形式創建你的秘密,就像你對環境變數一樣。
- 在你的專案中進入 "連接的服務 "并配置
Secrets.json服務。 - 將 "用戶秘密 "添加到你的組態檔中;這將取決于它發生的確切位置。
- 將
IConfiguration注入您的控制器,并將其保存為一個欄位。 - 呼叫你想要的資料,使用。
{yourConfigurationFieldName}.GetValue<string> ({yourJsonKey})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/326366.html
標籤:
