Je me demande dans quelles circonstances je devrais mettre le code d'initialisation de l'application dans Application_Start()
vs Init()
dans mon fichier Global.asax
?
La distinction entre les deux ne me semble pas très évidente, à part que Application_start
Est appelé en premier, puis Init()
.
Jusqu'à présent, le seul véritable pointeur que je puisse trouver est que IHttpModule
n'a qu'une méthode Init()
, donc si ce que je fais peut à un moment donné être mieux adapté pour implémenter IHttpModule
Je devrais utiliser la méthode Init()
de Global.asax
, Si rien d'autre pour la cohérence.
À partir des documents MSDN :
Les méthodes Application_Start et Application_End sont des méthodes spéciales qui ne représentent pas les événements HttpApplication. ASP.NET les appelle une fois pour la durée de vie du domaine d'application, pas pour chaque instance HttpApplication .
Init:
Appelé une fois pour chaque instance de la classe HttpApplication après la création de tous les modules.
MISE À JOUR: si vous devez vous assurer qu'un certain code n'est appelé qu'une seule fois dans l'application. cycle de vie, Application_Start est une meilleure solution. Exemples: configurer log4net?
Oui
Il y a des différences entre eux. L'événement Application_Start () est appelé une seule fois tandis que la méthode Init () est appelée à chaque fois lorsque l'instance de l'application est créée.