Accediendo a la configuración

lunes, 7 de mayo de 2007

La clase ConfigurationManager (incluida a partir de la versión .Net 2.0) perteneciente al NameSpace System.Configuration, nos permite acceder a los archivos de configuración de nuestra aplicación.

Esta incluye miembros que permiten llevar a cabo las siguientes tareas:


  • Leer una sección de un archivo de configuración.

  • Leer y escribir totalmente archivos de configuración.

  • Compatibilizar tareas de configuración.


Un motivo importante para utilizarla, es que nos independiza del tipo de aplicación final que estemos construyendo (Aplicación de escritorio, Sitio Web, Web Service, etc).

Para poner un ejemplo práctico, en una aplicación en 3 capas típica, es normal querer obtener el String de Conexión en la capa de acceso a datos, para poder conectarnos con nuestra base de datos.

Supongamos que este String de conexión lo tenemos almacenado en el archivo de configuración de nuestra aplicación (app.config para una aplicación WinForms, web.config en una aplicación ASP.NET, etc) .

Una de las maneras de acceder a esta información sería escribir el siguiente código dentro de nuestra capa de acceso a datos, sin importar que tipo de aplicación final la este consumiendo:


string conString = System.Configuration.ConfigurationManager.
ConnectionStrings["Conexion"].ConnectionString;

Para este ejemplo en particular deberíamos incluir en nuestro archivo de configuración, estas lineas dentro del tag Configuration:

<connectionstrings>
<add name="Conexion" connectionstring="Data Source=localhost;
Initial Catalog=NombreBD; Integrated Security=True">
</connectionstrings>

Utilizar las clases que nos provee .Net FrameWork es una buena práctica, principalmente para no perder tiempo en escribir código, que ya tengamos disponible para nosotros.

Para poder acceder a esta clase debemos referenciar al ensamblado: System.Configuration (en system.configuration.dll).

Este es uno de los usos que le podemos dar a esta clase, quizás el más utilizado, para más información dejo un link.

http://msdn2.microsoft.com/es-es/library/system.configuration.configurationmanager(VS.80).aspx