porta - ¿Cómo se relacionan los archivos cscfg y App.config entre sí para las funciones de trabajador de Azure?
porta azure (2)
En el caso de los roles web / trabajadores, los archivos de configuración tradicionales (app / web.config) seguirán funcionando como lo hacen en una implementación local. Pero es importante saber que este archivo está incluido en el Paquete de servicios, lo que significa que es parte de la implementación.
Esto significa que no puede cambiar la configuración que tiene en su aplicación / web.config sin volver a implementar su aplicación. El ServiceConfiguration.cscfg por otro lado es algo que se define en el nivel de espacio de despliegue del Servicio de Cloud, junto al Paquete de Servicio real. Esto significa que puede cambiar este archivo de configuración sin tener que volver a implementar su aplicación. También se puede acceder a esta configuración desde su aplicación llamando a RoleEnvironment.GetConfigurationSettingValue
(similar a ConfigurationManager.AppSettings
).
Si considera crear una aplicación que funcione tanto en las instalaciones como en Windows Azure, considere usar el paquete Microsoft.WindowsAzure.ConfigurationManager . Que elige automáticamente el cscfg o la aplicación / web.config en función de dónde se ejecuta su aplicación.
Consejo: Al suscribirse al evento RoleEnvironment.Changing / Changed, puede interceptar los cambios en este archivo de configuración. Puede manejar esto para actualizar el web.config en el código, por ejemplo (se explica aquí ).
En el mundo "on premise", al crear una aplicación como un Servicio de Windows usaría clásicamente un archivo App.config para almacenar una variedad de información de configuración sobre la aplicación, desde cadenas de conexión a la información de punto final de WCF.
En el mundo del rol de trabajador de Azure, ahora me presentan archivos .cscfg que se dice que contienen información "para el rol".
No entiendo si estos archivos están allí para complementar la configuración de la aplicación o si se reemplazan los archivos de App.config por completo. ¿Cómo funcionan estos dos archivos para configurar las funciones de Azure Worker?
Explicación muy básica :
Conceptualmente son lo mismo. En una aplicación tradicional, utiliza el archivo app.config para definir varias configuraciones relacionadas con la aplicación (en la sección appSettings). Del mismo modo, utiliza el archivo cscfg para definir varias configuraciones relacionadas con su aplicación en la nube (en la sección Configuración de configuraciones). Al igual que el archivo app.config, puede definir otras cosas (por ejemplo, el número de instancias de su aplicación en la nube) en el archivo cscfg.
Si lo desea, puede definir algunas de las configuraciones en el archivo app.config, pero una cosa a tener en cuenta es que el archivo app.config se "empaqueta" y se implementa, y para cambiar la configuración, deberá volver a empaquetar su aplicación y desplegarlo. Sin embargo, puede cambiar la configuración en un archivo cscfg sobre la marcha utilizando el portal o la API de administración de servicios sin tener que volver a empaquetar y volver a implementar la aplicación. Por ejemplo, considere el escenario en el que está definiendo la cadena de conexión de la base de datos en el archivo de configuración. Si especifica eso en app.config, para cambiarlo necesitaría hacer cambios en el archivo app.config -> Build the application -> publish the application. Donde, como en el caso de un archivo cscfg, simplemente cambiaría este valor en el portal.