在 Azure Web 应用程序设置中使用数组
Using an array in Azure web app settings
在我的 ASP.NET 5 (RC1) 代码中,我有一个 appsetting.json 看起来像这样:
{
"SomeSettings": {
"PropA": "ValueA",
"PropB": [
"ValueB1",
"ValueB2"
]
}
}
当 运行 我的开发机器(即本地主机)上的代码时使用这些值。如果我想在 Azure 的 wep 应用程序设置中覆盖 "SomeSettings",我将如何指定 "PropB" 数组?
我要存储信息的 SomeSettings.cs class 如下所示:
public class SomeSettings
{
public string PropA { get; set; }
public List<string> PropB { get; set; }
}
问题是 "PropB" - 我如何在 Azure 中将数组或列表指定为字符串 - 这甚至可能吗?
在我的 Startup class 的构造函数中,我有:
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables();
在我的 Startup class 的配置方法中,我有:
var someSettings = configuration.GetSection("SomeSettings").Get<SomeSettings>();
像这样在 "App settings" 下添加设置就可以了...
注意下面的“:0”和“:1”
格式:键 -> 值
SomeSettings:PropA -> AzureValueA
SomeSettings:PropB:0 -> AzureValueB1
SomeSettings:PropB:1 -> AzureValueB2
如果您 运行 不在 Windows 上,请将冒号 :
替换为双下划线 __
以使您的应用程序看到这些设置。所以而不是例如SomeSettings:PropA
,你会使用 SomeSettings__PropA
.
简单的做法是将JSON作为字符串存入AppSetting,自己反序列化
var serializer = new JavaScriptSerializer();
var settings = serializer.Deserialize<SomeSettings>(configuration.GetSection("SomeSettings"));
否则我相信您将不得不创建自己的客户配置。 https://msdn.microsoft.com/en-us/library/2tw134k3.aspx
在我的 ASP.NET 5 (RC1) 代码中,我有一个 appsetting.json 看起来像这样:
{
"SomeSettings": {
"PropA": "ValueA",
"PropB": [
"ValueB1",
"ValueB2"
]
}
}
当 运行 我的开发机器(即本地主机)上的代码时使用这些值。如果我想在 Azure 的 wep 应用程序设置中覆盖 "SomeSettings",我将如何指定 "PropB" 数组?
我要存储信息的 SomeSettings.cs class 如下所示:
public class SomeSettings
{
public string PropA { get; set; }
public List<string> PropB { get; set; }
}
问题是 "PropB" - 我如何在 Azure 中将数组或列表指定为字符串 - 这甚至可能吗?
在我的 Startup class 的构造函数中,我有:
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables();
在我的 Startup class 的配置方法中,我有:
var someSettings = configuration.GetSection("SomeSettings").Get<SomeSettings>();
像这样在 "App settings" 下添加设置就可以了... 注意下面的“:0”和“:1”
格式:键 -> 值
SomeSettings:PropA -> AzureValueA
SomeSettings:PropB:0 -> AzureValueB1
SomeSettings:PropB:1 -> AzureValueB2
如果您 运行 不在 Windows 上,请将冒号 :
替换为双下划线 __
以使您的应用程序看到这些设置。所以而不是例如SomeSettings:PropA
,你会使用 SomeSettings__PropA
.
简单的做法是将JSON作为字符串存入AppSetting,自己反序列化
var serializer = new JavaScriptSerializer();
var settings = serializer.Deserialize<SomeSettings>(configuration.GetSection("SomeSettings"));
否则我相信您将不得不创建自己的客户配置。 https://msdn.microsoft.com/en-us/library/2tw134k3.aspx