In my ASP.NET 5 (RC1) code I have an appsetting.json that looks something like this:
{
"SomeSettings": {
"PropA": "ValueA",
"PropB": [
"ValueB1",
"ValueB2"
]
}
}
These value are used when a run the code on my dev machine (ie. localhost). If I want to overwrite the "SomeSettings" in Azure's Application settings for the wep app, how would I specify the "PropB" array?
The SomeSettings.cs class that I want to store the information in looks like this:
public class SomeSettings
{
public string PropA { get; set; }
public List<string> PropB { get; set; }
}
The problem is "PropB" - how to I specify an array or List as a string in Azure - is this even possible?
In my Startup class's constructor I have:
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables();
And in my Startup class's Configure methods I have:
var someSettings = configuration.GetSection("SomeSettings").Get<SomeSettings>();
Adding the settings under "App settings" like this will do the trick... Notice the ":0" and ":1" below
Format: Key -> Value
SomeSettings:PropA -> AzureValueA
SomeSettings:PropB:0 -> AzureValueB1
SomeSettings:PropB:1 -> AzureValueB2
If you aren't running on Windows, replace the colon :
with double underscore __
to get your app to see the settings. So instead of e.g. SomeSettings:PropA
, you'd use SomeSettings__PropA
.