簡體   English   中英

使用 json 應用程序設置而不是系統環境變量

[英]Use json app settings instead of system environment variables

我正在使用 asp.net 核心項目,該項目將有 2 個環境,我部署到單個服務器、登台和生產。 我的目標是讓 staging 使用 appsetting.json 文件而不是 window 環境變量。

我已經在服務器上設置了一個環境變量。 環境變量

在我的 appsettings.json 文件中,我的進程設置具有不同的值。

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "Process": "Not ABC"
}

這是在我的項目中檢索它的代碼。

string process = _config.GetValue<string>("Process");

問題是登台和生產都在同一台服務器上,這意味着它們使用相同的環境系統變量。 在這兩種情況下,環境變量都會覆蓋 appsettings.json 中的那個。

我想分期使用 appsettings.json。 有沒有辦法做到這一點?

我嘗試瀏覽互聯網並找不到任何解決方案。

利用文檔中的信息: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-6.0

我提出以下建議:

  1. 為生產和暫存創建應用程序設置。
  2. 創建兩個版本,一個用於暫存,一個用於生產。
  3. 在生產配置文件中,省略要從環境變量加載的值。
  4. 先添加環境提供者,再添加應用設置
  5. 在暫存應用程序配置中,添加您的值。

這樣,暫存值將來自應用程序設置文件,而生產則來自環境變量。

暫無
暫無

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

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