Le cycle de vie ASP.NET spécifie comment :
ASP.NET traite les pages pour générer une sortie dynamique
L'application et ses pages sont instanciées et traitées
ASP.NET compile dynamiquement les pages
Le cycle de vie d'ASP.NET peut être divisé en deux groupes :
Cycle de vie des applications
Cycle de vie des pages
Le cycle de vie de l'application comprend les phases suivantes :
Un utilisateur demande l'accès à la ressource d'une application, qui est une page. Le navigateur envoie cette requête au serveur Web.
Un pipeline unifié reçoit la première requête et les événements suivants se produisent :
Un objet de la classe ApplicationManager est créé.
Un objet de la classe HostingEnvironment est créé pour fournir la ressource d'informations.
Créez un objet de réponse. Les objets d'application tels que HttpContext, HttpRequest et HttpResponse sont créés et initialisés.
Une instance de l'objet HttpApplication est créée et affectée à la requête.
Les requêtes sont gérées par la classe HttpApplication. Différents événements déclenchent de telles demandes de traitement.
Lorsqu'une page est demandée, la page est chargée dans la mémoire du serveur, puis traitée et servie au navigateur. Ensuite, déchargez-le de la mémoire. A chacune de ces étapes, des méthodes et des événements sont disponibles et peuvent être adaptés selon les besoins de l'application. En d’autres termes, vous pouvez écrire votre propre code pour remplacer le code par défaut.
La classe page crée une arborescence hiérarchique de tous les contrôles de la page. Tous les composants de la page, à l'exception des directives, font partie de l'arborescence de contrôle. Vous pouvez voir l'arborescence de contrôle en ajoutant trace = "true" à la directive page. Nous remplacerons les directives de page et les tracerons sous « directives » et « gestion des événements ».
Les étapes du cycle de vie des pages sont :
initialisation
Instanciation du contrôle de page
Reprise et maintien de l'état
Exécution du code de gestion des événements
Affichage des pages
Comprendre le cycle des pages nous aide à écrire du code afin que des événements spécifiques puissent se produire à n'importe quelle étape du cycle de vie de la page. Il vous aide également à écrire des contrôles personnalisés et à les initialiser au bon moment, à remplir leurs propriétés avec les données de l'état d'affichage et à exécuter du code pour le comportement du contrôle.
Voici les différentes étapes d'une page ASP.NET :
Requête de page : lorsque ASP.NET reçoit une demande de page, il décide s'il doit analyser et compiler la page ou demander à une version mise en cache de la page de répondre en conséquence ;
Début du cycle de vie de la page - Dans cette phase, les objets de requête et de réponse sont configurés. S'il s'agit d'une ancienne requête ou d'une publication, la propriété IsPostBack de la page est définie sur correct. La propriété de la page ULCulture est également définie.
Initialisation de la page - Au cours de cette phase, les contrôles de la page se voient attribuer des ID uniques et les thèmes sont appliqués en définissant la propriété UniqueID. Pour une nouvelle demande, les données de publication sont chargées et les propriétés du contrôle sont restaurées à leurs valeurs d'état d'affichage.
Chargement de la page : dans cette phase, les propriétés du contrôle sont définies à l'aide des valeurs de l'état d'affichage et de l'état de contrôle.
Validation - La méthode de validation du contrôle de validation est appelée et exécutée avec succès, et la propriété IsValid de la page est définie sur true.
Gestion des événements de publication - Si la demande est une publication (ancienne demande), le gestionnaire d'événements approprié est appelé.
Affichage de la page - À ce stade, l'état d'affichage de la page et tous les contrôles sont enregistrés. La page appelle la méthode d'affichage pour chaque contrôle et la sortie rendue est écrite dans la classe OutputStream dans les propriétés de réponse de la page.
Déchargé : la page affichée est servie au client et les attributs de la page, tels que les réponses et les demandes, sont déchargés et tous effacés.
A chaque étape du cycle de vie de la page, la page se déclenche un certain temps et sera encodée. Un gestionnaire d'événements est essentiellement une fonction ou un sous-programme lié à un événement, à l'aide de propriétés déclaratives ou de gestionnaires tels que OnClick.
Voici les événements du cycle de vie des pages :
PreInit - PreInit est le premier événement du cycle de vie de la page. Il vérifie la propriété IsPostBack et détermine si la page est publiée. Il définit des thèmes et des pages d'accueil, crée des contrôles dynamiques et obtient et définit les valeurs des propriétés de profil de valeur. Cet événement peut être géré en remplaçant la méthode OnPreInit ou en créant un gestionnaire Page_PreInit.
Init - L'événement Init initialise les propriétés du contrôle et crée l'arborescence des contrôles. Cet événement peut être géré en surchargeant la méthode OnInit ou en créant un gestionnaire Page_Init.
InitComplete - L'événement InitComplete permet le suivi de l'état d'affichage. Tous les contrôles permettent le suivi dans l’état d’affichage.
LoadViewState - L'événement LoadViewState permet de charger des informations sur l'état d'affichage dans un contrôle.
LoadPostData - Au cours de cette phase, le contenu de tous les champs de saisie définis par les balises est traité.
PreLoad : PreLoad se produit avant que les données de publication ne soient chargées dans le contrôle. Cet événement peut être géré en surchargeant la méthode OnPreLoad ou en créant un gestionnaire Pre_Load.
Load - L'événement Load est déclenché d'abord par la page, puis de manière récursive sur tous les contrôles enfants. Les contrôles de l'arborescence des contrôles sont créés. Cet événement peut être géré en surchargeant la méthode OnLoad ou en créant un gestionnaire Page_Load.
LoadComplete : le processus de chargement se termine, les gestionnaires d'événements de contrôle s'exécutent et la validation de la page se produit. Cet événement peut être géré en surchargeant la méthode OnLoad ou en créant un gestionnaire Page_LoadComplete.
PreRender - L'événement PreRender se produit juste avant l'affichage de la sortie. En gérant cet événement, les pages et les contrôles peuvent effectuer des mises à jour avant que la sortie ne soit affichée.
PreRenderComplete - Lorsque l'événement PreRender est déclenché pour tous les contrôles enfants dans une boucle, cet événement garantit l'achèvement de la phase de pré-affichage.
SaveStateComplete - L'état du contrôle de page est enregistré. Les informations de personnalisation, d’état de contrôle et d’état d’affichage sont enregistrées.
Décharger - La phase de déchargement est la dernière phase du cycle de vie de la page. Il déclenche l'événement UnLoad pour tous les contrôles d'une boucle, et enfin pour la page elle-même. Termine enfin le nettoyage et la libération de toutes les ressources et références, telles que les connexions à la base de données. Cet événement peut être géré en ajustant la méthode OnLoad ou en créant un gestionnaire Page_UnLoad.