簡體   English   中英

如何使用config.json為Visual Studio 2015 / DNX項目設置特定於環境的變量?

[英]How can I use config.json to set environment-specific variables for a Visual Studio 2015/DNX project?

我有一個Visual Studio 2015解決方案,由針對DNX框架的項目組成。 我一直在本地工作,但我計划部署到Azure環境(開發/測試/生產)。 自然,該解決方案使用不同的數據庫連接字符串和其他取決於環境的變量。 過去,我使用雲配置文件來設置這些變量,並使用CloudConfigurationManager讀取它們。

據了解,我需要使用config.json文件。 我的Startup.cs文件中包含以下代碼:

public Startup(IHostingEnvironment env, IApplicationEnvironment app)
{
    Configuration = new ConfigurationBuilder(app.ApplicationBasePath)
        .AddJsonFile("config.json")
        .AddJsonFile($"config.{env.EnvironmentName}.json", optional: true)
        .AddEnvironmentVariables()
        .Build();

    Configuration.Set("ASPNET_ENV", "Development");
}

我的config.json文件當前是一個空對象{ } 如何將變量添加到此文件(語法?),以及如何從代碼訪問變量?

在啟動代碼中注意以下行:

.AddJsonFile($"config.{env.EnvironmentName}.json", optional: true)

這將添加一個附加的JSON配置文件,該文件的名稱取決於您的環境名稱。 因此,將一個新文件添加到您的項目中:

config.<environment-name>.json

並在其中設置詳細信息,例如:

{
  "AppSettings": {
    "SomeVariable": "Blah"
  },
  "Data": {
    "YourConnectionString": {
      "ConnectionString": "<connection string here>"
    }
  }
}

為了閱讀配置,這里有一個很好的答案: 在mvc6中全局使用IConfiguration

您可以為此使用普通的舊JSON。 例如,以下是定義連接字符串的方法:

{
  "Foo": "Bar"
}

要訪問配置值,請執行以下操作:

config.Get("username")

要么:

config["username"];

您可以在此處找到更多信息: http : //docs.asp.net/en/latest/fundamentals/configuration.html

暫無
暫無

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

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