Escribir y Modificar en el AppConfig en C#


La mayoría de las aplicaciones deben tener algún modo de acceder a configuración, para permitir ejecuciones de un modo u otro, me adentro en esta pequeño post ya que en el Add-In que estoy desarrollando es necesario ciertos comportamientos dependiendo de los clientes, basado en esto existen algunos tipos de patrones que se pueden contemplar basados en una configuración dependiendo de la maquina donde se encuentre instalado.

Veamos como podemos Generar lo Siguiente en el Ejemplo de archivo de configuración:

<? version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Opcion1" value="True" />
</appSettings>
</configuration>

Paso a paso:

  • Añadir al proyecto una referencia a “System.Configuration” (Project -> Add Reference …).
  • Añadir al código:  “using System.Configuration”.
  • Para leer un parámetro de configuración:
string miValor = ConfigurationManager.AppSettings["Opcion1"];

Para añadir un parámetro nuevo al archivo de configuración:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Add("Opcion1", "True");
config.Save(ConfigurationSaveMode.Modified);

Para modificar y persistir un parámetro de configuración:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["Opcion1"].Value = "False"
config.Save(ConfigurationSaveMode.Modified);

Ojo, La configuración que se modifica no es el app.config, si no el App.dll.config que es el que la aplicación utiliza cuando se encuentra en operación.

Los archivos de configuración pueden llegar a ser muy sofisticados permitiendo la categorización de los parámetros en secciones, por ejemplo para las cadenas de conexión a bases de datos.  Los ejemplos anteriores operan sobre los parámetros correspondientes a una sección específica .

Anuncios

Acerca de Francisco Castán

Creador, Diseñador, Investigador y Programador de Software Lenguajes Preferidos: C/C++, C#, Java, PHP, Python, PERL, Shell, JavaScript

Publicado el 24/11/2010 en .Net y etiquetado en , . Guarda el enlace permanente. 5 comentarios.

  1. Francisco .. muy buen post, además he seguido algunos otros pero tengo una duda,
    1.- al modificar mi App se crea otro archivo App.config.config que posteriormente no se carga al proyecto, por lo que no puedo usar la modificación. ¿Qué estoy haciendo mal? porque dices que se guarda en la dll .. eso quiere decir que el cambio si está correcto aunque se lo podamos ver en el XML ?

    saludos

  2. fue un error mio Ian, no es en App.dll.config realmente se guarda en app.config

  3. bueno día corri tu ejm y me salio muy bien . como haría para modificar otro tipo de nombres como una estructura SOAP en el app.config
    por ejemplo :
    —-

    20114022838MODDATOS
    MODDATOS

    quiero que la parte de Username poder modificarlo en tiempo de ejecución algún alcance que me pudiese dar se lo agradecería

  4. Sergio Martínez Segura

    buenos días.
    perdona mi ignorancia… si aplico este ejemplo que estas dando, se ejecuta correctamente en modo debug o desde el mismo visual studio y como dices aplica en el app.config.

    ahora bien si genero la distribución de la aplicación o la publico, que ajustes se tendrían que hacer? o no me preocupo de nada?

    saludos y gracias.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: