webconfig net isdevelopment configuracion asp azure asp.net-core appsettings

azure - isdevelopment - net core web config



La configuraciĆ³n de la aplicaciĆ³n Azure no anula mis valores de archivo appsettings.json (2)

He intentado agregar DefaultConnection desde mi archivo appsettings.json a la Configuración de la aplicación de Azure, pero Azure no anulará la cadena de conexión.

Cualquier artículo o blog que pueda encontrar indica que todo lo que debería hacer es agregar el nombre de la cadena de conexión tal como aparece en el archivo appsettings.json y Azure debe hacer el resto (por ejemplo, https://tehremo.wordpress.com/2016/ 10/07 / override-connection-strings-app-settings-in-asp-net-core-and-azure-app-service / ) Sin embargo, cuando se publica la aplicación, está utilizando mi cadena de conexión local.

Mi archivo Startup.cs se parece a lo siguiente:

NOTA: Estoy publicando usando la entrega continua de VSTS con la tarea de lanzamiento "Implementar el servicio de aplicación Azure".


Solo tuve un problema similar (el problema fue con el tipo de cadena de conexión PostgreSQL, tuve que cambiarlo a la versión personalizada) y ahora funciona para mí, así que estas son las piezas:

  1. Este es mi archivo appsettings.json. Tengo un valor para ''Psql'' establecido en my appsettings.Development.json, pero en el appsettings.json se deja vacío.
  2. Estas son las configuraciones que se establecen en el portal de Azure. Tenga en cuenta que hay dos formas de anular la cadena de conexión.
  3. Esta es la parte de mi archivo Startup.cs. Preste atención al orden de cómo se aplican las configuraciones en el constructor de inicio y la forma en que obtengo la cadena de conexión en el método ConfigureServices (GetConnectionString es un método de extensión estándar).

Información adicional de mis comentarios a continuación:

Azure GUI (cadenas de conexión, configuración de la aplicación) utiliza variables de entorno internamente, por lo que el appsettings.json se mantendrá igual.

Si existe la necesidad de que se sobrescriba el valor de un appsettings.json durante la actividad de lanzamiento de VSTS (antes de que se publique en Azure), se pueden usar las herramientas de creación y liberación de esquina de ALM de Colin. Aquí están los enlaces a la herramienta de construcción y liberación de esquina de ALM de Colin y su tutorial .


Gracias @pasul, tu ayuda fue muy apreciada y me ayudó a encontrar una solución alternativa. Para implementar usando la tarea VSTS y reemplazar la configuración de la aplicación, deberá agregar variables a la tarea de liberación y pasar a la tarea el archivo json en cuestión para la sustitución de la variable.

Cuando esté en la tarea de lanzamiento "Implementar el servicio de aplicaciones Azure", debería ver una sección "Transformaciones de archivos y sustitución de variables". Aquí proporcionará la ruta al archivo json que desea intercambiar valores variables.

Luego deberá hacer clic en el botón de opciones en el entorno de lanzamiento. Verá una opción para configurar variables en el menú emergente.

Desde aquí puede agregar la propiedad json que desea modificar como variable. En mi caso, la cadena de conexión. Que se verá así:

"ConnectionStrings.DefaultConnection"

Luego solo ingrese el valor de su cadena de conexión. VSTS intercambiará estos valores por usted cuando realice la implementación.