puede - ¿Es posible editar web.config de la aplicación en la nube implementada en Windows Azure sin volver a implementar mi aplicación?
portal azure (5)
13 de julio de 2018
Azure Portal tiene un Editor de servicios de aplicaciones (en vista previa) en su Servicio de aplicaciones implementado. Al seleccionar esto, se obtiene un editor similar a Visual Studio Code apuntando a su sitio web Azure implementado, facilitando la edición de web.config
(o cualquier otro archivo):
¿Es posible editar el archivo web.config de mi aplicación en la nube implementada en Windows Azure sin volver a implementar mi aplicación?
El escenario es como ->
- La aplicación en la nube se implementa en Azure con 3 instancias.
- web.config tiene texto estático en la aplicación que se encuentra en la página de inicio (por ejemplo, © 2009 Mi sitio. Todos los derechos reservados )
- Ahora deseo cambiar el texto estático mencionado en Web.Config de 2009 a 2010 .
- Ahora deseo editar Web.Config sin volver a implementar mi sitio.
- No deseo -> implementar mi aplicación en stagging con Web.Config actualizado y luego cambiarla por producción .
¿Hay algún truco para actualizar los archivos del paquete implementado en tiempo de ejecución?
Es posible y si realiza cambios en web.config, la aplicación ASP.NET se reiniciará con la nueva configuración, tal como se esperaría en "ASP.NET normal". Solo necesita estar seguro de que está realizando las actualizaciones correctas de web.config o su instancia probablemente sea imposible de reparar una vez que ASP.NET haya desaparecido con un error web.config.
Si tiene web.config como parte de su paquete de implementación, debe cambiar los permisos de archivo en él, lo cual puede hacer desde RoleEntryPoint.OnStart ().
Otra forma sería hacer que su aplicación ASP.NET escriba la web.config inicial a través de algún manejador web de init.
De forma predeterminada, la aplicación ASP.NET no tendrá permisos de actualización o eliminación para los archivos del paquete de implementación o archivos escritos por su código RoleEntryPoint, mientras que tiene acceso completo a los archivos que crea. Este comportamiento solo se experimenta en "Azure real" mientras que las cosas se comportan de otra manera cuando se ejecuta localmente con el SDK.
Verifique esto para obtener información sobre cómo escribir archivos y establecer permisos en los archivos de RoleEntryPoint.OnStart (): ¿Cómo puedo obtener la ruta raíz del sitio WebRole desde RoleEntryPoint.OnStart ()?
Según Maxim en los comentarios a continuación, esta respuesta está desactualizada.
Puede modificar mediante programación la configuración web.config de un rol web en el evento OnStart utilizando la biblioteca Microsoft.Web.Administration.ServerManager.
*** dejando la respuesta original como era correcta en ese momento y como, no he usado Azure desde que contesté esta pregunta, y no estoy 100% seguro de la respuesta válida.
En una palabra no.
Debe usar el archivo de configuración del servicio para dicha configuración.
Decidir si colocar claves en la configuración de configuración del servicio frente a la configuración de configuración web.
Puede hacerse las siguientes preguntas:
¿Esta configuración cambia con cada implementación? Si es así, la configuración de la web es el lugar correcto para esta información.
¿Esta configuración cambiará después de la implementación? Si es así, la configuración de servicio es la ubicación correcta para esta información.
El archivo Web.config forma parte del paquete de implementación y, por lo tanto, es de solo lectura cuando se implementa en Azure, con el fin de actualizar la configuración que deberá volver a desplegar.
Mientras que el archivo de configuración del servicio se carga, pero no se empaqueta con, el paquete de implementación y, por lo tanto, puede cargar o editar el archivo sin volver a implementar su servicio.
Si, esto se puede hacer. Los pasos son:
- Use la variable de entorno ''RdRoleRoot'' para encontrar la raíz del rol.
- Busque el archivo ''RoleModel.xml''
- Cargue el archivo ''RoleModel.xml'' y busque la entrada para su sitio en el nodo "Sitios"
- En esta entrada busque el atributo ''physicalDirectory'' que es la ruta relativa al directorio que contiene su archivo web.config
- Combine la ruta raíz de roles con esta ruta de directorio físico para obtener la ruta completa
Escribí una publicación de blog http://anuchandy.blogspot.com/2014/02/changing-webconfig-file-deployed-on.html con código de muestra.
sí puede, todo lo que necesita hacer es crear un RDC para Azure y ir a E: / siteroot / 0 donde verá todos sus archivos desplegados. y simplemente edita web.config lo que te gusta. funcionará tanto para la producción como para la puesta en escena sin necesidad de redesplegar o volver a crear imágenes o reiniciar.
Puede que este mensaje se pregunte hace mucho tiempo atrás, pero para alguien como yo esto definitivamente útil :-)