76 votes

Quand utiliser Application_Start vs Init Mondiale.asax?

Je me demande dans quelles circonstances je devrais être de mettre l'application de l'initialisation du code en Application_Start() vs Init() mon Global.asax le fichier?

La distinction entre les deux ne semble pas très évident pour moi, autre que Application_start est appelé en premier, puis Init().

  • Pourquoi voudrais-je utiliser l'un plutôt que l'autre?
  • Est-il vraiment une différence?
  • Quels sont les changements dans l'état de l'application entre les deux événements?

Jusqu'à présent, le seul véritable pointeur je trouve, c'est qu' IHttpModule seulement a un Init() méthode, donc, si ce que je fais peut être mieux adapté pour mettre en oeuvre IHttpModule je devrais utiliser l' Init() méthode de Global.asax, si rien d'autre, pour plus de cohérence.

86voto

Igor Brejc Points 9752

À partir de la MSDN docs:

Le Application_Start et Application_End méthodes sont des méthodes spéciales qui ne représentent pas HttpApplication événements. ASP.NET appelle une fois pour la durée de vie du domaine d'application, et non pour chaque HttpApplication instance.

Init:

Appelée une fois pour chaque instance de la HttpApplication classe après tout les modules ont été créés.

Mise à JOUR: si vous avez besoin pour vous assurer d'un certain code est appelé qu'une seule fois dans l'application. du cycle de vie, Application_Start est une meilleure solution. Exemples: la configuration de log4net?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X