Je me demande dans quelles circonstances je devrais mettre le code d’initialisation de l’ Application_Start()
dans Application_Start()
vs Init()
dans mon Global.asax
?
La distinction entre les deux ne me semble pas évidente, à part que Application_start
est appelé en premier, puis Init()
.
Jusqu’à présent, le seul pointeur réel que je puisse trouver est que IHttpModule
uniquement une méthode Init()
, donc si ce que je fais peut être plus approprié 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 toute la durée de vie du domaine d’application et non pour chaque instance HttpApplication .
Init:
Appelée 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 est appelé une seule fois dans l’application. cycle de vie, Application_Start est une meilleure solution. Exemples: configuration de 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 qu’une instance de l’application est créée.