Using an array in Azure web app settings
在我的ASP.NET 5(RC1)代码中,我有一个类似于以下内容的appsetting.json:
1 2 3 4 5 6 7 8 9 | { "SomeSettings": { "PropA":"ValueA", "PropB": [ "ValueB1", "ValueB2" ] } } |
在我的开发机器(即localhost)上运行代码时使用这些值。如果要覆盖wep应用程序在Azure应用程序设置中的" SomeSettings",如何指定" PropB"数组?
我要在其中存储信息的SomeSettings.cs类如下:
1 2 3 4 5 | public class SomeSettings { public string PropA { get; set; } public List<string> PropB { get; set; } } |
问题是" PropB"-如何在Azure中将数组或列表指定为字符串-甚至可能吗?
在我的Startup类的构造函数中,我有:
1 2 3 | var builder = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .AddEnvironmentVariables(); |
在我的Startup类的Configure方法中,我有:
1 | var someSettings = configuration.GetSection("SomeSettings").Get<SomeSettings>(); |
像这样在" App settings "下添加设置将达到目的...
请注意下面的":0 "和":1 "
格式:键->值
1 2 3 | SomeSettings:PropA -> AzureValueA SomeSettings:PropB:0 -> AzureValueB1 SomeSettings:PropB:1 -> AzureValueB2 |
如果您不是在Windows上运行,请用双下划线
简单的方法是将JSON作为字符串存储在AppSetting中,然后自行反序列化
1 2 | var serializer = new JavaScriptSerializer(); var settings = serializer.Deserialize<SomeSettings>(configuration.GetSection("SomeSettings")); |
否则,我相信您将必须创建自己的客户配置。 https://msdn.microsoft.com/zh-CN/library/2tw134k3.aspx