obtener net example connectionstrings conexion cadena asp app asp.net vb.net web-config

asp.net - net - Editando Web.config programáticamente



web config connection string (7)

Dependiendo de lo que esté haciendo, el método es realmente un poco diferente en cada situación. Sin embargo, el método más robusto es cargarlo como un XmlDocument y modificarlo según sea necesario a través de ese método, pero DEBE tener cuidado de modificarlo solo de la manera necesaria.

¿Cuál es una buena manera de editar un archivo Web.config mediante programación?

Busqué en System.Xml pero no pude encontrar ninguna respuesta obvia.


En teoria; usted podría simplemente generar un archivo de configuración web programáticamente y con algunas plantillas para hacerlo más fácil.

Sin embargo, si intenta editar su web.config desde el sitio; es muy recomendable que no lo haga. Por lo menos; accionarías un reinicio de la aplicación cada vez que lo actualizaste; lo cual sería especialmente malo si estás usando sesiones en proceso.

Como preguntó Anders, ¿qué intentas hacer?


Puede usar WebConfigurationManager para leer secciones de configuración específicas. Esto devolverá un objeto ConfigurationSection. Puede usar esto para leer / modificar los elementos de configuración en la sección. Una vez que los haya actualizado, puede guardar ConfigurationSection y actualizará el archivo con sus cambios.

Utilizo esto para encriptar automáticamente la configuración de la aplicación y las cadenas de conexión en Application_Start si aún no están encriptadas. Realmente no he cambiado ninguna configuración de esta manera, pero parece que deberías poder hacerlo.

Guardar el archivo de configuración actualizado puede hacer que la aplicación se recicle dependiendo de cómo está construida.


Sí, estoy de acuerdo con Josh. Lo he intentado antes y he tenido dos efectos negativos:

  1. Carga lenta si la página actual después de la devolución de datos porque ASP.NET está cargando la web.config y todos los recursos relacionados
  2. Si cambia el web.config lo suficientemente temprano en el ciclo de carga (por ejemplo, eventos global.asax), el sitio nunca se cargará o fallará de manera impredecible.

Este tipo muestra un código de muestra si aún quieres hacerlo después de todas las advertencias:

protected void EditConfigButton(object sender, EventArgs e) { Configuration objConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); AppSettingsSection objAppsettings = (AppSettingsSection)objConfig.GetSection("appSettings"); //Edit if (objAppsettings != null) { objAppsettings.Settings["test"].Value = "newvalueFromCode"; objConfig.Save(); } }

Una razón válida para editar un web.config es cifrarlo, que es de lo que trata el artículo.


Acuerde con los demás, la edición del webconfig es realizable, pero los efectos de detonación son solo peligrosos o de riesgo.

Si es un valor que es específico de la aplicación, entonces debe estar en un archivo de configuración específico de la aplicación


Mucho tiempo que desea modificar la configuración específica de la aplicación después de la implementación, por ejemplo, cuando algo está mal, por ejemplo, cambiar la conexión de la base de datos en caso de que la base de datos actual no funcione. Además, a veces desea crear su propio archivo de configuración basado en XML que desee o modificar programáticamente.

Pruebe XML Webpad - http://xmlwebpad.codeplex.com/

Es un marco para ver una edición de archivos XML. Una vez que lo integre con su aplicación web, edite web.config será tan simple como ver la página web.config, realice los cambios necesarios y presione el botón Guardar (todo desde su aplicación).