¿Qué causa el reciclaje de un grupo de aplicaciones en IIS?

He estado buscando información sobre esto en vano. El contexto de por qué necesito esto es otra pregunta que hice aquí . Más específicamente, ¿crear / actualizar / eliminar archivos en App_Data causa un reciclaje de grupo?

Si alguien pudiera proporcionar una lista detallada de las causas de un reciclaje, sería genial.

ACTUALIZACIÓN : como ya han notado dos usuarios, también me gustaría recibir una respuesta que especifique los motivos para reciclar el AppDomain únicamente y no todo el grupo.

Dos efectos diferentes: el proceso de AppPool es el host para aplicaciones potencialmente múltiples. Por lo general, esto se puede reciclar mediante una serie de efectos, por ejemplo, tiempo, cada ‘n’ horas, falta de solicitudes, uso de memoria, etc. Configurado en el Administrador de configuración de IIS.

AppDomain: la instancia alojada de la raíz de la aplicación, puede activarse más frecuentemente sin afectar a otros AppDomains en la AppPool. La publicación de Tess sobre el reciclaje de AppDomain es bastante reveladora

http://blogs.msdn.com/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx

Está escribiendo en una carpeta supervisada para su comstackción; esto activará la recreación del dominio de aplicación en algún momento.

El registro de eventos lo ayudará a determinar la causa iniciada del reciclado.

El artículo que te gustó en la otra publicación realmente hizo un muy buen trabajo al respecto.

Reciclaje inmediato

  • Cambios de Web.config
  • Cambios de Machine.config
  • Cambios de Global.asax
  • Cambios en el directorio Bin
  • Cambios de App_Code

Retraso en el reciclaje

Puede ocurrir con múltiples cambios en otras ubicaciones, por lo general, solo lo he notado con cambios en los archivos .aspx o .cs / .vb. Agregar texto temporal, csv u otros archivos no ha resultado en problemas para mí.

NOTA: Estos son todos los reciclados en el dominio de la aplicación y no los reciclados reales del grupo. Normalmente, la aplicación POOL solo reciclará en función de la configuración en IIS (número de solicitudes, límite de memoria, tiempo de inactividad o reinicio progtwigdo).

Es posible que desee activar los registros de eventos de reciclaje de AppPool completos:

cscript adsutil.vbs Set w3svc/AppPools/DefaultAppPool/LogEventOnRecycle 255 

También es posible que desee echar un vistazo a este artículo de blog de Scott Guthrie: http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx que muestra cómo escribir código en Global.ASAX para iniciar sesión la causa real de un evento Application.End.

Esto nos ha sido extremadamente útil para diagnosticar varios problemas: uno en particular era una aplicación que estaba escribiendo archivos de registro en el directorio wwwroot; demasiados cambios de archivos que daban como resultado un reciclaje …

Esto puede suceder a diario según las preferencias, o cuando se ha excedido la memoria virtual máxima para el proceso.

Esta es una configuración que puede manipular para reciclar el grupo de aplicaciones en función de la cantidad de minutos que ha estado funcionando o la cantidad de solicitudes que ha procesado.

También reciclará en web.config cambios y otras cosas que se han publicado aquí.

Un reinicio de IIS también hará el truco, al igual que los servicios de parada / inicio.

w3wp.exe estaba erradicando. Esto provocaba que Application_Start se llamara en Global.asax .

Para descubrir esto, abrí Event Viewer .

Debajo de los registros de Windows , fui a la aplicación .

Vi un error de aplicación :

 Faulting application name: w3wp.exe, version: 10.0.16299.15, time stamp: 0x0aeb5595 Faulting module name: KERNELBASE.dll, version: 10.0.16299.334, time stamp: 0x6369e29f Exception code: 0xe0434352 Fault offset: 0x0000000000014008 Faulting process id: 0x2900 Faulting application start time: 0x01d43b16f726cbb9 Faulting application path: c:\windows\system32\inetsrv\w3wp.exe Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll Report Id: 998cf55d-2cd9-4b8d-9884-2110e3fd1411 Faulting package full name: Faulting package-relative application ID: