Ciclul de viață al aplicației ASP.NET și al PAGE
⚡ Rezumat inteligent
Ciclul de viață al aplicațiilor și paginilor ASP.NET descrie etapele ordonate prin care trece o cerere, de la pornirea aplicației și crearea obiectului până la inițializarea, încărcarea, randarea și descărcarea paginii.ping Dezvoltatorii plasează codul în punctul corect.

Ce este ASP.Net Lifecycle?
Când o aplicație ASP.Net este lansată, există o serie de pași care sunt parcurși. Această serie de pași alcătuiesc ciclul de viață al aplicației.
Să analizăm diferitele etape ale unui ciclu de viață tipic al unei aplicații web ASP.Net.
Ciclul de viață ASP.Net
1) Pornirea aplicației – Ciclul de viață al unui ASP.NET Aplicația pornește atunci când un utilizator face o cerere. Această cerere este adresată serverului web pentru aplicația ASP.Net. Acest lucru se întâmplă atunci când primul utilizator accesează pagina principală a aplicației pentru prima dată. În acest timp, există o metodă numită Application_Start care este executată de serverul web. De obicei, în această metodă, toate variabilele globale sunt setate la valorile lor implicite.
2) Crearea obiectelor – Următoarea etapă este crearea obiectelor HttpContext, HttpRequest și HttpResponse de către serverul web. HttpContext este doar containerul pentru obiectele HttpRequest și HttpResponse. Obiectul HttpRequest conține informații despre solicitarea curentă, inclusiv cookie-uri și informații despre browser. Obiectul HttpResponse conține răspunsul trimis clientului.
3) Crearea aplicației Http – Acest obiect este creat de serverul web. Este folosit pentru a procesa fiecare cerere ulterioară trimisă aplicației. De exemplu, să presupunem că avem 2 aplicații web: una este un magazinping o aplicație de tip coș de cumpărături, iar cealaltă este un site web de știri. Pentru fiecare aplicație, am avea create 2 obiecte HttpApplication. Orice solicitări ulterioare către fiecare site web ar fi procesate de fiecare HttpApplication în parte.
4) Aruncați – Acest eveniment este apelat înainte ca instanța aplicației să fie distrusă. În acest timp, se poate folosi această metodă pentru a elibera manual orice resurse negestionate.
5) Sfârșitul aplicației – Aceasta este partea finală a cererii. În această parte, aplicația este în sfârșit descărcată din memorie.
Ce este ASP.Net Page Lifecycle?
Când o pagină ASP.Net este apelată, aceasta trece printr-un anumit ciclu de viață. Acest lucru se face înainte ca răspunsul să fie trimis utilizatorului. Există o serie de pași care sunt urmați pentru procesarea unei pagini ASP.Net.
Să ne uităm la diferitele etape ale ciclului de viață al unei pagini web ASP.Net.
Ciclul de viață al paginii ASP.Net
- Solicitare pagină – Acesta este momentul în care pagina este solicitată pentru prima dată de la server. Când pagina este solicitată, serverul verifică dacă este solicitată pentru prima dată. Dacă da, atunci trebuie să compileze pagina, să analizeze răspunsul și să îl trimită utilizatorului. Dacă nu este prima dată când pagina este solicitată, se verifică memoria cache pentru a vedea dacă există rezultatul paginii. Dacă da, răspunsul respectiv este trimis utilizatorului.
- Începutul paginii – În acest timp, sunt create 2 obiecte, cunoscute sub numele de obiecte Request și Response. Obiectul Request este utilizat pentru a stoca toate informațiile trimise la solicitarea paginii. Obiectul Response este utilizat pentru a stoca informațiile trimise înapoi utilizatorului.
- Inițializarea paginii – În acest timp, toate controalele de pe o pagină web sunt inițializate. Așadar, dacă aveți vreo etichetă, o casetă de text sau orice alte controale pe formularul web, toate sunt inițializate.
- Încărcare pagină – Acesta este momentul în care pagina este de fapt încărcată cu toate valorile implicite. Deci, dacă o casetă de text ar trebui să aibă o valoare implicită, acea valoare este încărcată în timpul de încărcare a paginii.
- Validare – Uneori, poate exista un set de validare pe formular. De exemplu, poate exista o validare care spune că o casetă listă ar trebui să aibă un anumit set de valori. Dacă condiția este falsă, atunci ar trebui să existe o eroare la încărcarea paginii.
- Gestionarea evenimentelor postback – Acest eveniment este declanșat dacă aceeași pagină este încărcată din nou. Acest lucru se întâmplă ca răspuns la un eveniment anterior. Uneori, poate exista o situație în care un utilizator face clic pe un buton de trimitere de pe pagină. În acest caz, aceeași pagină este afișată din nou și este apelat handlerul de evenimente Postback.
- Redarea paginii – Acest lucru se întâmplă chiar înainte ca toate informațiile de răspuns să fie trimise utilizatorului. Toate informațiile din formular sunt salvate, iar rezultatul este trimis utilizatorului ca pagină web completă.
- Descărca – Odată ce ieșirea paginii este trimisă utilizatorului, nu este nevoie să păstrați formular web ASP.net obiecte din memorie. Deci procesul de descărcare implică eliminarea tuturor obiectelor nedorite din memorie.
Evenimentele ciclului de viață al paginii ASP.NET
Dincolo de etapele generale de mai sus, ASP.NET generează o secvență specifică de evenimente de pagină pe care dezvoltatorii le pot gestiona în cod. Cunoașterea ordinii vă ajută să plasați logica acolo unde funcționează corect:
- Preinițializare – setați pagini principale și teme și creați controale dinamice.
- init – fiecare control este inițializat; utilizați-l pentru a citi sau seta proprietățile controlului.
- Inițializare completă – generat după finalizarea tuturor inițializărilor.
- Preîncărcare – are loc înainte ca pagina să încarce starea de vizualizare și datele de postback.
- A incarca – pagina și controalele acesteia sunt încărcate; cea mai mare parte a logicii paginii merge aici.
- Evenimente de control – sunt gestionate evenimente specifice controlului, cum ar fi un clic pe buton.
- Pre-randare – efectuați modificările finale ale paginii sau controalelor înainte de afișare.
- SalvareStareCompletată – starea vizualizării este salvată pentru toate controalele.
- face – pagina generează ieșirea HTML trimisă browserului.
- Descărca – se efectuează curățarea și obiectele sunt eliberate din memorie.
Ciclul de viață al aplicației vs. ciclul de viață al paginii
Ciclul de viață al aplicației și ciclul de viață al paginii funcționează în domenii de aplicare diferite. Tabelul de mai jos clarifică diferențele dintre ele:
| Aspect | Ciclul de viață al aplicației | Ciclul de viață al paginii |
|---|---|---|
| domeniu | Întreaga aplicație web | O cerere pe o singură pagină |
| Începe | La prima solicitare (Application_Start) | De fiecare dată când este solicitată o pagină |
| Evenimente-cheie | Aplicație_Start, Început_Cerere, Aplicație_Sfârșit | Inițializare, Încărcare, Pre-randare, Descărcare |
| Frecvență | O dată pe aplicație, începe și se termină | Cerere o dată pe pagină |
Pe scurt, ciclul de viață al aplicației cuprinde întreaga aplicație de la pornire până la oprire, în timp ce ciclul de viață al paginii se execută de fiecare dată când un utilizator solicită o pagină.
De ce este importantă înțelegerea ciclului de viață ASP.NET
Înțelegerea ciclului de viață este esențială deoarece ASP.NET rulează codul în momente specifice, iar plasarea logicii în evenimentul greșit cauzează erori greu de găsit. O înțelegere clară a secvenței vă ajută să:
- Creați sau configurați controale dinamice din timp, în PreInit sau Init.
- Setați valorile de control implicite în evenimentul Load, astfel încât acestea să fie redate corect.
- Aplicați modificările finale de afișare în PreRender, după ce toate datele sunt legate.
- Distingeți cererile de prima încărcare de postback-uri pentru a evita procesarea datelor de două ori.
- Eliberați resurse și curățați în Unload pentru a preveni pierderile de memorie.
Stăpânirea acestor evenimente face ca gestionarea stărilor, validarea și depanarea să fie mult mai previzibile.


