Foros del Web » Programación para mayores de 30 ;) » .NET »

EnterpriseLibrary

Estas en el tema de EnterpriseLibrary en el foro de .NET en Foros del Web. Hola Colegas, tengo una Solución en VS 2005 donde tengo un Proyecto llamado Procesos y tengo una biblioteca de clases llamada Biblioteca y la conexión ...
  #1 (permalink)  
Antiguo 06/01/2010, 10:16
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Pregunta EnterpriseLibrary

Hola Colegas, tengo una Solución en VS 2005 donde tengo un Proyecto llamado Procesos y tengo una biblioteca de clases llamada Biblioteca y la conexión la configure con EnterpriseLibrary.
Mi necesidad que tengo es que necesito que la conexión sea dinámica ya que desde la misma aplicación el usuario puede conectarse a otro servidor y otra base de datos entonces necesito actualiza la conexion pero no se si al hacer eso afecte a los demas usuarios, actualmente uso Settings.Default y no tengo ningún problema solo actualizo la conexión ahí pero quiero estructurar bien este nuevo proyecto y quiero utilizar la parte de Datos en una biblioteca de clases.

Entonces tengo lo siguiente:
El app.Config que genera el EnterpriseLibrary que ahí le puse un servidor y base por default:

Código:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </configSections>
  <connectionStrings>
    <add name="strConn" connectionString="data source=SERVERA;Initial Catalog=BASEA;Persist Security Info=True;User ID=sa;Password=sa;Enlist=True;Connect Timeout=900;Application"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>
Luego hago esto para actualizar la conexión pero no lo hace y ese es mi gran problema, no se si me este faltando algo.

Código:
            //Cargo la configuracion
            Configuration Config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            
            //Se elimina la conexion.
            Config.ConnectionStrings.ConnectionStrings.Remove("strConn");

            //Agrego la nueva conexion
            string strConnString = "data source=SERVERB;Initial Catalog=BASEB;Persist Security Info=True;User ID=sa;Password=sa;Enlist=True;Connect Timeout=900;Application";
            string strProvider = "System.Data.SqlClient";            
            Config.ConnectionStrings.ConnectionStrings.Add(new ConnectionStringSettings("strConn", strConnString, strProvider));
            
            //Guardo el archivo de configuracion
            Config.Save(ConfigurationSaveMode.Full);
                        
            //Forzo la aplicacion para que actualize el archivo en tiempo de ejecucion
            ConfigurationManager.RefreshSection("connectionStrings");


Con este código cargo la conexión que tiene el app.Config que configuro el Enterprise Library y tiene la conexión que por default le puse, esto desde una clase que tengo en la biblioteca de clases.
Código:
        Database db = DatabaseFactory.CreateDatabase("strConn");
        DbCommand cmd;
Alguna sugerencia, apoyo, de antemano muchas gracias.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:27.