2015-12-03 5 views
7

In meinem ASP.NET 5 (RC1) Code habe ich eine appsetting.json, das etwa wie folgt aussieht:ein Array in Azure Web-App-Einstellungen

{ 
    "SomeSettings": { 
     "PropA": "ValueA", 
     "PropB": [ 
      "ValueB1", 
      "ValueB2" 
     ] 
    } 
} 

Diesen Wert verwendet werden, wenn ein Run auf den Code meine Dev-Maschine (dh. localhost). Wenn ich die "SomeSettings" in den Azure-Anwendungseinstellungen für die wep-App überschreiben möchte, wie würde ich das "PropB" -Array angeben?

Die SomeSettings.cs Klasse, die ich die Informationen in wie folgt aussieht speichern wollen:

public class SomeSettings 
{ 
    public string PropA { get; set; } 
    public List<string> PropB { get; set; } 
} 

Das Problem ist „propB“ - wie ich ein Array oder Liste als String in Azure angeben - ist das ist sogar möglich?

In meiner Startup-Klasse Konstruktor Ich habe:

var builder = new ConfigurationBuilder() 
    .AddJsonFile("appsettings.json") 
    .AddEnvironmentVariables(); 

Und in meiner Startup Klasse Configure Methoden ich habe:

var someSettings = configuration.GetSection("SomeSettings").Get<SomeSettings>(); 

Antwort

19

die Einstellungen unter "App-Einstellungen unter" Hinzufügen wie dies den Trick ... Beachten Sie die "0" und "1" unter

Format: Key -> Wert

SomeSettings:PropA -> AzureValueA 
SomeSettings:PropB:0 -> AzureValueB1 
SomeSettings:PropB:1 -> AzureValueB2 
+0

Ab heute funktioniert es super. Ich will nur bestätigen, dass der Ansatz noch hier ist. Wir verwenden VSTS, um WebApp-Argumente über PS-Skripts zu implementieren, jetzt können wir Arrays pushen. Vielen Dank. – Alezis

-3

einfache Methode ist, den JSON als String speichern in AppSetting und de-serialize selbst

var serializer = new JavaScriptSerializer(); 
var settings = serializer.Deserialize<SomeSettings>(configuration.GetSection("SomeSettings")); 

oder werden Sie Ihre eigene Kundenkonfiguration ich glaube haben zu erstellen. https://msdn.microsoft.com/en-us/library/2tw134k3.aspx

Verwandte Themen