2010-09-22 8 views
5

Tenemos estadísticas de contador de recopilación de aplicaciones y nos gustaría que los valores se reinicien después de ejecutar el comando iisreset, y eso es todo.Cómo determinar la vida del dominio de aplicación ASP.NET

Microsoft dice Application_Start es:

llama cuando se solicita el primer recurso (tal como una página ) en una aplicación ASP.NET . El método Application_Start se llama solo una vez durante el ciclo de vida de una aplicación. Usted puede usar este método para realizar tareas de inicio tales como cargar datos en el caché e inicializar valores estáticos.

Ésta es la forma en que estamos haciendo actualmente:

protected void Application_Start(object sender, EventArgs e) 
{ 
    _counters.Get<AutoCounter>("TAS:RequestCount").Reset(); 
    _counters.Get<AutoCounter>("TAS:RequestTime").Reset(); 
    _counters.Get<AutoCounter>("TAS:TimeBetweenErrors").Reset(); 
    _counters.Get<AutoCounter>("TAS:ErrorCount").Reset(); 
} 

Sin embargo, éstos se restablecen a intervalos inesperados. ¿Qué determina cuándo termina el ciclo de vida del dominio de aplicación y se invoca este método en la próxima solicitud?

+0

¿Qué te hace pensar que los intervalos son arbitrarios y no inesperados? –

+0

@Conrad, arbitraria probablemente no era la palabra correcta para usar, la cambié por su sugerencia. ¡Gracias! – Bleser

Respuesta

7

Hay muchas razones por las que una aplicación web se reinicia. Este article incluye la siguiente lista parcial.

  • el web.config se edita

  • el machine.config se edita

  • el global.asax se edita

  • archivos se ha cambiado en la papelera
    directorio de las la aplicación web, o uno de
    subdirectorios de la papelera

  • se crea un directorio, cambiado de nombre o
    suprimido dentro de un directorio de aplicación web

  • un archivo ASP.NET (.aspx, asmx, etc.) se editado (y por lo tanto vuelve a compilar)
    más de 20 veces, un defecto fijado en la configuración de la máquina como un elemento
    llamado numRecompilesBeforeAppRestart

  • por medio de ajustes de diversos
    atributos en el
    elemento en machine.config, que afecta al reinicio/apagado del proceso de trabajo
    .En Windows
    2003, cuando no se utiliza el aislamiento IIS5
    modo (que no se utiliza por defecto), estos elementos son
    ignorados y en lugar de la configuración en
    grupos de aplicaciones en el Administrador de IIS se utiliza

Supongo que su enfoque es bueno, pero ahora lo que realmente quiere saber es qué está causando el reinicio y si debe alarmarse.

+0

gracias por las sugerencias. Puedo asegurar que ninguno de los archivos de configuración se está editando, por lo que lo más probable es que la configuración de IIS cause reinicios inesperados. – Bleser

3

En IIS 6.0, la pestaña de rendimiento del grupo de aplicaciones le permite cerrar el proceso de trabajo de IIS después de un tiempo de inactividad especificado. Esto está habilitado por defecto y está establecido en veinte minutos.

Esto podría ser la causa de que se desencadenen eventos inesperados de application_start.

Cuestiones relacionadas