Misterio detrás de IISRReset

Esta es una pregunta genérica. Sin embargo, sigue siendo un misterio y necesita una explicación...

Recientemente, nuestra aplicación se implementó en producción con el código más reciente. Se trata de un ASP.NET MVC 3 aplicación usando WCF como servicio y SQL Server para DB. La implementación es un proceso automatizado y la elevación de DIT, SIT, Stage a Prod también está automatizada.

Después de la implementación, durante las pruebas, encontramos que la aplicación en producción no se comporta de la misma manera que en otro entorno. Hubo discrepancia de funcionalidad. DIT, SIT y Stage funcionan como se esperaba, pero Prod no. Verificamos los Dlls en todos los servidores de producción, son el conjunto más reciente. Depuré en DEV y encontré que funcionaba como se esperaba.

Incapaces de encontrar una explicación, lo hicimos. IISRESET en todos los servidores de producción y ¡adivinen qué!... Comenzó a funcionar como se esperaba, sin problemas hasta ahora... :)

  1. ¿Hay una buena explicación de por qué IISRESET resolvió el problema?
  2. ¿Es IISRESET obligatorio después de una implementación? Tengo entendido que incluso el cambio de config/dll forzará el reciclaje de la aplicación y se seleccionarán los últimos dlls.
  3. ¿Hay algún otro paso que podríamos haber tomado? El tiempo era una limitación, necesitamos obtener las cajas de producción lo antes posible.

preguntado el 11 de diciembre de 13 a las 07:12

Tal vez esto post podría arrojar algo de luz. -

¿Qué pasa con el reciclaje del grupo de aplicaciones? ¿Tiene que ser un iisreset completo? -

@DaveMarkle pensamos que AppPool se reciclará automáticamente cuando hagamos la implementación, así que elegimos iisreset -

2 Respuestas

No dice cómo se realiza la implementación automática, pero según el orden en que se copian los archivos, el reciclaje puede ocurrir antes (porque se sobrescribió web.config, por ejemplo) mientras aún hay otros archivos para copiar. Entonces terminas con una aplicación en parte antigua y en parte nueva en ejecución.

Respondido el 11 de diciembre de 13 a las 07:12

Pregunta amplia, pero lo que me viene a la mente es que el almacenamiento en caché se vería afectado por iisreset. Los valores en campos/clases estáticos también se verían afectados.

En adición a la respuesta de @Will Dean. Durante el despliegue, ¿está enfrentando una app_offline.htm archivo y eliminarlo después?

Respondido el 11 de diciembre de 13 a las 07:12

¿No se borraría también el caché mediante un reciclaje de grupo de aplicaciones? - Scheien

@scheien: la implementación no necesariamente reinicia el proceso pool .exe, incluso si reinicia el dominio de la aplicación. - decano

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.