2010-09-22 6 views
1

Application_Start et Application_End sont appelés qu'une seule fois au cours de la durée de vie du domaine d'application - donc ils ne sont pas appelés pour chaque HttpApplication exempleaura-t-Application_End être tiré même si ...

Application_Start exécute lorsque premier utilisateur demande une page, ainsi quand la première instance de la classe HttpApplication est créée, tandis que Application_End s'exécute lorsque la dernière instance d'une classe HttpApplication est détruite.

Mais que se passe-t-il si au moment du redémarrage du domaine d'application il n'y avait pas de demandes d'utilisateurs et donc aucune HttpApplication instances créées? Dans ce cas, Application_End sera-t-il encore tiré?

Merci

+1

Je suppose que non (si Application_Start n'a pas été lancé, Application_End ne devrait pas), mais vous pouvez facilement tester en écrivant dans un journal. –

+0

Et si Application_Start est déclenchée, Application_End sera-t-il également déclenché même s'il n'y a pas de demandes lorsque runtime décide de redémarrer le domaine d'application? – user437291

Répondre

1

Si je comprends bien votre question, vous dites qu'aucune demande jamais venu, si aucune demande jamais venu dans l'application ne sera jamais commencé (c.-à-pas Application_Start est tiré) et donc pas la Application_end ne déclencherait pas non plus.

Ceci ne résiste pas à tout type de code de "préchauffage" qui déclenche l'application avant que les demandes ne soient reçues afin de charger des caches ou des choses comme ça.

+0

L'échauffement se ferait normalement en tant que requête ou ensemble ou demandes, donc Application_Start serait appelée. – Oded

+0

"si aucune demande ne vient jamais dans l'application ne sera jamais démarrée (c'est-à-dire qu'aucune Application_Start n'est déclenchée) et par conséquent, l'Application_end ne se déclenchera pas non plus." Donc, si Application_Start n'est pas activé, alors Application_End n'est pas non plus renvoyé. Mais qu'en est-il si Application_Start est déclenchée, Application_End sera-t-il également déclenché même s'il n'y a pas de demandes lorsque Runtime décide de redémarrer le domaine d'application? – user437291

+1

Oui, si Application_Start est déclenchée, pour quelque raison que ce soit, alors l'Application_End doit également être déclenchée. – CodingGorilla

Questions connexes