Cuando experimenta este comportamiento, ¿qué tan recientemente ha realizado una implementación de sus archivos en el servidor?
Hay una opción de configuración llamada desagradable numRecompilesBeforeAppRestart en la etiqueta de compilación:
<system.web>
<compilation debug="true" numRecompilesBeforeAppRestart="15">
http://msdn.microsoft.com/en-us/library/system.web.configuration.compilationsection.numrecompilesbeforeapprestart.aspx
por defecto este valor a 15. He pasado por una aplicación matando a las sesiones de los usuarios antes y esto era el culpable para mi Aproximadamente un día después de que se actualizara una aplicación web ligeramente usada (nuevos archivos copiados en el servidor, esto terminó sobrescribiendo CADA archivo, numerando en cientos), obtendríamos constantes reinicios de AppDomain evidenciados por todos los valores de la sesión para todos los usuarios desaparecidos.
yo encontramos este informe de error lista el comportamiento que estoy experimentando: http://support.microsoft.com/kb/319947
Aquí está el texto en cuestión realmente importante para mi escenario:
Sin embargo, este problema se produce cuando se carga muchos nuevos archivos .aspx o .ascx a el servidor (por ejemplo, 61 archivos). El servidor descarga la aplicación cuando los primeros 15 archivos se vuelven a compilar y cada vez son otros 15 archivos recompiladas hasta que el servidor alcanza 61. Esto da lugar a cuatro aplicaciones reanuda a pesar de que sólo una es necesaria .
Cambié el valor a 99999 y el problema desapareció. Esto significa que se acumulará más memoria en mi proceso de trabajo, así que agregué un reciclado diario (3am cuando mi sitio no tiene usuarios) a la configuración de reciclaje de IIS AppPool.
Encontré algo más de información. Escribí un script para registrar el ID del proceso de trabajo de IIS cada hora.El problema de la sesión volvió a ocurrir esta mañana, pero cuando revisé el registro, mostró que el ID del proceso sigue siendo el mismo. Por lo tanto, no parece que esto esté sucediendo debido a un reinicio del proceso de trabajo. –
Cargué Process Monitor en el servidor y utilicé las instrucciones de http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx para escribir una entrada de registro de eventos cada vez que finaliza la aplicación. Sucedió nuevamente hoy, y el mensaje registrado fue "Notificación de cambio de nombre de directorio para 'C: \ inetpub \ wwwroot \'. Cambio de directorio de JobTraQ o cambio de nombre de directorio." Process Monitor mostró muchos eventos de "NotifyChangeDirectory", pero no puedo decir de dónde vinieron. –