¿Cuál es una buena manera de editar un archivo Web.config mediante programación?Editando Web.config mediante programación
Miré en System.Xml pero no pude encontrar ninguna respuesta obvia.
¿Cuál es una buena manera de editar un archivo Web.config mediante programación?Editando Web.config mediante programación
Miré en System.Xml pero no pude encontrar ninguna respuesta obvia.
This fellow código de ejemplo muestra si todavía quiere hacerlo después de todas las salvedades:
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 la edición de un web.config es cifrar ella, que es lo que el artículo se trata.
Dependiendo de lo que esté haciendo, el método es 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.
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 cifrar automáticamente la configuración de la aplicación y connectionStrings en Application_Start si aún no están encriptados. 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 se haya creado.
Sí, estoy de acuerdo con Josh. He intentado esto antes y he tenido dos efectos negativos:
En teoría; 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 está tratando de editar su web.config desde dentro del sitio; es altamente recomienda no hacerlo. 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é es lo que estás tratando de hacer?
Cambiar el modo de autenticación, por ejemplo. – AgentFire
de acuerdo con otros, editando el webconfig es alcanzable, pero ha llamar a los efectos son sólo para peligroso/riesgo que implica
Si es un valor que depende de la aplicación, a continuación, que debe estar en un archivo de aplicación de configuración específica
La cantidad de 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 cambiando la conexión de la base de datos en caso de que la base de datos actual baje. Además, a veces desea crear su propio archivo de configuración basado en XML que desee o modificar programáticamente.
Try WebPad XML - 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).
Cambiar el modo de autenticación, por ejemplo. – AgentFire