Como definir variables de ambientes diferentes para distintas Application en IIS

 Problema:  Tengo 2 Application que vienen de 2 KB diferentes generadas con .NET Core, y quiero instalarlas en el mismo IIS.  Necesito que ambas informen a un servidor de Opentelemetry con valores diferentes. La parametrización de Opentelemetry se realiza a través de variables de ambiente unicamente. 

Como se necesitan valores diferentes en las variables de ambiente y las mismas no pueden ser fijadas a nivel de todo el sistema, se necesita una forma de tener valores diferentes para cada Application. 

Se puede hacer a traves de la interfaz grafica hacien IIS / Seleccionando el Environmet / Configuration Editor / y en el combo de Section elegir system.webServer/aspNetCore . 
Elegir abajo environmentVariables y presionando los tres puntos de la derecha [...] podes editar las variables de ambientes que desees para ese sitio. 



y se llama al editor:


donde se pueden especificar las variables de entorno para el proceso de esta aplicación. 

Esto modifica el web.config poniendo estas variables de ambiente en la sección correspondiente. 


De esta forma, podemos definir 2 Applications (o virtual dirs) que tengan diferentes variables de ambiente y de esta forma configurar diversos aspectos de la misma, como puede ser la conexion a la base de datos, conexion a REDIS, Opentelemetry y varios mas. 

Al hacerlo de esta forma, las aplicaciones desarrolladas con .NET Core van a ser mucho mas facilmente migrables a Docker o Kubernetes.  



Comentarios

Entradas más populares de este blog

Aplicación monolítica o distribuida?

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.