asp.net - example - read app config c#
Tienda String Array En la configuraciĆ³n? (4)
Para cadenas es fácil, simplemente agregue lo siguiente a su archivo web.config
:
<add key="myStringArray" value="fred,Jim,Alan" />
y luego puede recuperar el valor en una matriz de la siguiente manera:
var myArray = ConfigurationManager.AppSettings("myStringArray").Split('','');
Me gustaría almacenar una matriz de cadena unidimensional como una entrada en mis appSettings
. No puedo simplemente separar elementos con ,
o |
Porque los elementos en sí mismos podrían contener esos caracteres.
Estaba pensando en almacenar la matriz como JSON
luego deserializarla utilizando el JavaScriptSerializer
.
¿Hay una forma "correcta" / mejor de hacer esto?
(Mi idea JSON
siente un poco hacky)
Para los enteros encontré la siguiente manera más rápida.
En primer lugar, cree una clave appSettings con valores enteros separados por comas en su app.config.
<add key="myIntArray" value="1,2,3,4" />
Luego divida y convierta los valores en una matriz int usando LINQ
int[] myIntArray = ConfigurationManager.AppSettings["myIntArray"].Split('','').Select(n => Convert.ToInt32(n)).ToArray();
Podría utilizar los ajustes de aplicación con un System.Collections.Specialized.StringCollection
.
var myStringCollection = Properties.Settings.Default.MyCollection;
foreach (String value in myCollection)
{
// do something
}
Cada valor está separado por una nueva línea.
Aquí hay una captura de pantalla (IDE alemán, pero podría ser útil de todos modos)
También puede considerar el uso de la sección de configuración personalizada / Colección para este propósito. Aquí hay una muestra:
<configSections>
<section name="configSection" type="YourApp.ConfigSection, YourApp"/>
</configSections>
<configSection xmlns="urn:YourApp">
<stringItems>
<item value="String Value"/>
</stringItems>
</configSection>
También puede consultar este excelente complemento de Visual Studio que le permite diseñar gráficamente .NET Secciones de configuración y genera automáticamente todo el código requerido y una definición de esquema (XSD) para ellas.