Buscar este blog

miércoles, 24 de febrero de 2010

Cómo leer un ConnectionString del web.config mediante código

Existen varias maneras de guardar y usar cadenas de conexión en el web.config aquí mencionare las que conozco, si conocen otras no duden en enviarlas para incluirlas.

La primera es la más recomendada para aplicaciones sencillas ya que es la que proporciona el mismo Asp.Net para guardar las cadenas de conexión, se guarda la cadena en la sección connectionStrings del web.config, esta sección va directo en la sección configuration que es la raíz del web.config.


   1:  <connectionStrings>
   2:      <add connectionString="Data Source=Servidor\INSTANCIASQL;Initial Catalog=MiBaseDeDatos;Persist Security Info=True;User ID=NombreDeusuario;Password=xxxxxxxxxx" name="MiConnectionString" providerName="System.Data.SqlClient"/>
   3:  </connectionStrings>

y se usa de la siguiente manera:


   1:  string SuperSecreto = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["MiConnectionString"].ConnectionString;

También podemos usar la sección appSettings, pero no es tan recomendado pues esta sección esta reservada para configuraciones sin categorizar, en realidad es cuestión de gusto:


   1:  <appSettings>
   2:      <add key="ConnectionString"
   3:                   value="Data Source=Servidor\INSTANCIASQL;Initial Catalog=MiBaseDeDatos;Persist Security Info=True;User ID=NombreDeusuario;Password=xxxxxxxxxx"/>
   4:  </appSettings>

La ultima forma es creando secciones de configuración personalizadas, esta es mas recomendable cuando creamos una ddl reutilizable que queremos configurar desde el web.config o el app.config y usamos esa dll desde nuestra aplicación web.
En esta entrada solo mostrare como se ve esta opción en el web.config y no mostrare su uso y creación ya que es mas complicada y prefiero mostrar el ejemplo completo en otra entrada.
Así se usa en el web.config, añadimos un sectionGroup en la seccion configSections del web.config y en la seccion configuration añadimos la sección que acabamos de configurar:


   1:  <configSections>
   2:      <sectionGroup name="miaplicacion">
   3:          <section name="connectionStrings" type="MiAplicacion.ConnectionStringsSection" allowLocation="true" allowDefinition="Everywhere"/>
   4:      </sectionGroup>
   5:  </configSections>
   6:  <miaplicacion>
   7:      <connectionStrings
   8:          ConnectionString="Data Source=Servidor\INSTANCIASQL;Initial Catalog=MiBaseDeDatos;Persist Security Info=True;User ID=NombreDeusuario;Password=xxxxxxxxxx">
   9:      </connectionStrings>
  10:  </miaplicacion>

No hay comentarios:

Publicar un comentario