lunes, 6 de septiembre de 2010

Cambio de Cadenas de Conexión por Server

Uno de los problemas que se me presentaban constantemente cuando comencé en esto del desarrollo en .net, era que al publicar un proyecto del entorno de desarrollo al entorno de producción, olvidaba corregir la cadena de conexión.

Ya sé que no a cualquiera le pasa, y hasta es posible que algún framework ya cuente con alguna solución para esto, pero como no las conozco, opte por la solución más lógica: declarar una cadena de conexión por servidor. A continuación muestro como hacerlo.
  1. En el Web.Config del sitio agregamos una cadena de conexión por cada servidor que utilizamos (con el mismo nombre que el servidor):
       <connectionstrings>
           <add name="MiServer1" connectionString="Data Source…" >
           <add name="MiServer2" connectionString="Data Source…" >
       </connectionstrings>
  2. Agregamos en el código de cada página que requiera acceder a las cadenas de conexión la biblioteca System.Configuration
  3. En lugar de utilizar directamente el nombre o incluso el ConnectionString tomamos el nombre del server con la instrucción Page.Server.MachineName de modo que quedaría de la siguiente manera:
    MiDataSource.ConnectionString = ConfigurationManager.ConnectionStrings[Page.Server.MachineName].ToString()
De este modo la cadena que se utilizara siempre corresponderá al nombre del servidor, de modo que no tendrás que modificar el Web.Config cuando la aplicación sea publicada.

No hay comentarios:

Publicar un comentario en la entrada