Mehrere Werte für einen einzelnen Konfigurationsschlüssel
Ich versuche zu verwenden ConfigurationManager.AppSettings.GetValues()
abrufen mehrerer Konfigurations-Werte für einen einzelnen Schlüssel, aber ich bin immer auf Empfang ein array nur den letzten Wert. Meine appsettings.config
sieht aus wie
<add key="mykey" value="A"/>
<add key="mykey" value="B"/>
<add key="mykey" value="C"/>
und ich bin versucht, den Zugang mit
ConfigurationManager.AppSettings.GetValues("mykey");
aber ich bin nur immer { "C" }
.
Irgendwelche Ideen auf, wie man dieses Problem lösen?
InformationsquelleAutor der Frage Daniel Schierbeck | 2010-05-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen
Und
InformationsquelleAutor der Antwort Joel
Die config-Datei behandelt jede Zeile wie eine Zuordnung, die ist, warum Sie sehen nur die Letzte Zeile. Wenn es liest die config, es ordnet Ihre Schlüssel den Wert von "A", dann "B" dann "C", und da "C" ist der Letzte Wert, es ist der eine, der klebt.
als @Kevin schon andeutet, ist der beste Weg, dies zu tun, ist wahrscheinlich ein Wert, dessen Inhalt einer CSV, können Sie analysieren, auseinander.
InformationsquelleAutor der Antwort SqlRyan
Ich weiß, ich bin spät, aber ich fand diese Lösung und es funktioniert perfekt, so dass ich nur wollen, zu teilen.
Es ist alles über die Definition Ihrer eigenen
ConfigurationElement
Und in der app.config verwenden Sie einfach den neuen Abschnitt:
und beim abrufen der Daten nur wie folgt :
Schließlich Dank an den Autor des ursprünglichen post
InformationsquelleAutor der Antwort Wahid Bitar
Was Sie wollen, ist nicht möglich. Müssen Sie entweder den Namen jeder Taste anders, oder etwas tun, wie value="A,B,C" und trennen Sie die verschiedenen Werte im code
string values = value.split(',')
.Wird es immer abholen den Wert des Schlüssels, welches zuletzt definiert haben (in deinem Beispiel C).
InformationsquelleAutor der Antwort kemiller2002
Ich denke, Sie können Custom-Config-Abschnitte http://www.4guysfromrolla.com/articles/032807-1.aspx
InformationsquelleAutor der Antwort Lijo
Da die
ConfigurationManager.AppSettings.GetValues()
Methode nicht funktioniert, habe ich die folgende Problemumgehung, um einen ähnlichen Effekt erzielen, aber mit der Notwendigkeit suffix die Tasten mit eindeutigen Indizes.Diese entsprechen den Tasten wie
myKey[0]
undmyKey[1]
.InformationsquelleAutor der Antwort Bart Verkoeijen
Ist hier die vollständige Lösung:
code in der aspx.cs
Und im web-config
InformationsquelleAutor der Antwort Ajaya Nayak
Mein nehmen auf JJS s Antwort:
Config-Datei:
Code abrufen in string[]
IMO, das ist so einfach, wie es geht, zu erhalten. Fühlen Sie sich frei, zu beweisen, mich nicht falsch 🙂
InformationsquelleAutor der Antwort user2981217
Benutze ich Namenskonvention der Schlüssel und es funktioniert wie ein Charme
InformationsquelleAutor der Antwort Cu Dao
Wie display-Inhalt von diesem array aus, das Sie Jungs oben gepostet.
InformationsquelleAutor der Antwort surbhi shah