Archivia serie di stringhe in appSettings?

Vorrei memorizzare un array di stringhe monodesmensionale come una voce nel mio appSettings . Non posso semplicemente separare gli elementi con , o | perché gli elementi stessi potrebbero contenere quei personaggi.

Stavo pensando di archiviare l’array come JSON poi di deserializzare usando JavaScriptSerializer .

Esiste un modo “giusto” / migliore per farlo?

(La mia idea JSON sembra un po ‘hacky)

È ansible utilizzare AppSettings con System.Collections.Specialized.StringCollection .

 var myStringCollection = Properties.Settings.Default.MyCollection; foreach (String value in myCollection) { // do something } 

Ogni valore è separato da una nuova riga.

Ecco uno screenshot (IDE tedesco ma potrebbe essere comunque utile)

inserisci la descrizione dell'immagine qui

Per i numeri interi ho trovato il modo seguente più veloce.

Prima di tutto crea una chiave appSettings con valori interi separati da virgole nel tuo app.config.

  

Quindi dividere e convertire i valori in array int utilizzando LINQ

 int[] myIntArray = ConfigurationManager.AppSettings["myIntArray"].Split(',').Select(n => Convert.ToInt32(n)).ToArray(); 

Si può anche considerare di utilizzare la sezione / raccolta di configurazione personalizzata per questo scopo. Ecco un esempio:

  

È inoltre ansible controllare questo eccellente componente aggiuntivo di Visual Studio che consente di progettare graficamente le sezioni di configurazione .NET e genera automaticamente tutto il codice richiesto e una definizione di schema (XSD) per loro.

Per le stringhe è facile, basta aggiungere quanto segue al tuo file web.config :

  

e quindi è ansible recuperare il valore in un array come segue:

 var myArray = ConfigurationManager.AppSettings("myStringArray").Split(',');