[英]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.