Nos hemos encontrado con un problema en IIS 7.5 donde tenemos un sistema de implementación simple que consiste en lo siguiente:
Cree un archivo zip de nueva raíz web, que consta de tres carpetas:
Api
Site
Manager
Esto se descomprime en una nueva carpeta (digamos que lo llamamos "SITE_REV1") y contiene un script que invoca lo siguiente (uno para cada raíz web):
C:\Windows\system32\inetsrv\appcmd set vdir "www.site.com/" -physicalPath:"SITE_REV1\Site"
Esto generalmente funciona, en 9/10 veces. En algunos casos, la raíz web parece estar actualizada correctamente (si inspecciono la configuración básica en el Administrador IIS, la ruta parece correcta), pero el sitio en ejecución en cuestión apunta realmente a la ubicación anterior. La única forma en que hemos logrado "arreglarlo" es ejecutando un reinicio de IIS. No es suficiente reciclar el grupo de aplicaciones en cuestión.
A veces parece incluso necesario hacer un reinicio, pero no estoy 100% seguro de que sea correcto (no siempre fui yo el que solucionó el problema).
Reescribí el script usando Powershell y el módulo de Administración Web, esperando que hubiera un error en appcmd, pero ocurre el mismo problema.
Set-ItemProperty "IIS:\Sites\www.site.com" -Name physicalPath -Value "SITE_REV1\Site"
¿Alguien ha experimentado algo como ésto? ¿Alguien tiene idea de lo que está sucediendo y qué puedo hacer para evitar este problema? Hacer un reinicio de IIS no es realmente una buena opción para nosotros, porque eso afectaría a todos los sitios en el servidor cada vez que intentemos implementar cambios en un solo sitio.
EDITAR: Hemos identificado que un inicio / detención del sitio (NO el grupo de aplicaciones) en el Administrador de IIS resuelve la ruta física errónea, pero si detengo el sitio usando appcmd, cambio la ruta física y luego lo inicio, todavía sufro los mismos problemas Estoy en blanco ...