ASP.NET - configurar app.settings por código

 
Vista:

configurar app.settings por código

Publicado por Antonio (15 intervenciones) el 04/06/2007 13:15:28
Hola. Estoy haciendo una aplicación web con ASP.NET y tengo una duda. Tengo varias bases de datos de pruebas y es muy aburrido tener que estar abriendo siempre el código para cambiar a mano el app.settings que contiene el connectionString. Lo que quiero es meter en un archivo web.config el connectionString y que cuando se cargue la página me lo actualice automáticamente. ¿Alguien sabe si esto se puede hacer? Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:configurar app.settings por código

Publicado por Javier Santamaria (59 intervenciones) el 05/06/2007 10:49:54
Esto me lo dieron en otro foro, a lo mejor es esto lo que buscas:

En vez de editar web.config directamente, yo guardara las conexiones
en un archivo externo, y sobreescribiría *ese* archivo.

Ejemplo :

<connectionStrings configSource="conexiones.config"/>

En ese archivo incluyes las conexiones que quieras, igualito como si fuera web.config:

<connectionStrings>
<add name="Conexion1"
connectionString="bla, bla, bla"
providerName="System.Data.SqlClient" />

<add name="Conexion2"
connectionString="bla, bla, bla"
providerName="System.Data.SqlClient" />
</connectionStrings>

Ahora, con simplemente sobreescribir conexiones.config, tienes los cambios que quieras.

Hay una ventaja adicional al hacerlo así, y es que puedes asignar permisos de escritura por roles.

Por ejemplo, le das derecho de sobreescribir web.config al administrador del sistema,
pero el administrador de la base de datos podría editar conexiones.config.

Administrativamente, eso tiene mas sentido.

Nota: para poder habilitar que la Aplicacion reinicie automáticamente cuando
conexiones.config es modificado, tienes que hacer un cambio en el machine.config.

En <configSections> , edita <section name="connectionStrings" ... >, agregándole

restartOnExternalChanges="true"

Quedará así :

<section name="connectionStrings" type="System.Configuration.ConnectionStringsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="true" requirePermission="false" />

...y listo.

Nota: el PublicKeyToken tuyo puede ser distinto al mío.
No hagas "cut-and-paste de esa parte. Solo de restartOnExternalChanges="true".

Ahora solo tienes que sobreescribir conexiones.config...y tus nuevas conexiones funcionarán inmediatamente.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:configurar app.settings por código

Publicado por Antonio (15 intervenciones) el 05/06/2007 15:38:32
Gracias por la ayuda. La verdad es que está todo muy bien explicado. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar