ASP.NET aplikacija i životni ciklus stranice
⚡ Pametni sažetak
Životni ciklus ASP.NET aplikacije i stranice opisuje uređene faze kroz koje zahtjev prolazi, od pokretanja aplikacije i stvaranja objekta do inicijalizacije stranice, učitavanja, renderiranja i istovara, helping programeri postavljaju kod na ispravno mjesto.

Što je ASP.Net životni ciklus?
Kada se pokrene ASP.Net aplikacija, provodi se niz koraka. Ovi nizovi koraka čine životni ciklus aplikacije.
Pogledajmo različite faze tipičnog životnog ciklusa ASP.Net web aplikacije.
ASP.Net životni ciklus
1) Početak aplikacije – Životni ciklus an ASP.NET Aplikacija se pokreće kada korisnik podnese zahtjev. Ovaj zahtjev je upućen web poslužitelju za ASP.Net aplikaciju. To se događa kada prvi korisnik obično prvi put posjeti početnu stranicu aplikacije. Tijekom tog vremena, postoji metoda pod nazivom Application_Start koju izvršava web poslužitelj. Obično se u ovoj metodi sve globalne varijable postavljaju na svoje zadane vrijednosti.
2) Stvaranje objekta – Sljedeća faza je stvaranje HttpContext, HttpRequest i HttpResponse od strane web poslužitelja. HttpContext je samo spremnik za objekte HttpRequest i HttpResponse. Objekt HttpRequest sadrži informacije o trenutnom zahtjevu, uključujući kolačiće i informacije o pregledniku. Objekt HttpResponse sadrži odgovor koji se šalje klijentu.
3) Stvaranje HttpApplication – Ovaj objekt kreira web poslužitelj. Upravo se taj objekt koristi za obradu svakog sljedećeg zahtjeva poslanog aplikaciji. Na primjer, pretpostavimo da imamo dvije web aplikacije: jedna je trgovinaping aplikacija za košaricu, a druga je web stranica s vijestima. Za svaku aplikaciju bismo imali 2 kreirana HttpApplication objekta. Sve daljnje zahtjeve prema svakoj web stranici obrađivala bi svaka HttpApplication.
4) Odložiti – Ovaj se događaj poziva prije nego što se instanca aplikacije uništi. Tijekom tog vremena možete koristiti ovu metodu za ručno oslobađanje svih neupravljanih resursa.
5) Kraj aplikacije – Ovo je završni dio prijave. U ovom dijelu aplikacija se konačno istovaruje iz memorije.
Što je ASP.Net životni ciklus stranice?
Kada se pozove ASP.Net stranica, ona prolazi kroz određeni životni ciklus. To se događa prije nego što se odgovor pošalje korisniku. Postoji niz koraka koji se slijede za obradu ASP.Net stranice.
Pogledajmo različite faze životnog ciklusa ASP.Net web stranice.
Životni ciklus stranice ASP.Net
- Zahtjev za stranicu – Ovo je trenutak kada se stranica prvi put zatraži od poslužitelja. Kada se stranica zatraži, poslužitelj provjerava je li zahtjev poslan prvi put. Ako jest, tada treba kompajlirati stranicu, analizirati odgovor i poslati ga korisniku. Ako se stranica ne traži prvi put, provjerava se predmemorija kako bi se vidjelo postoji li izlaz stranice. Ako jest, taj se odgovor šalje korisniku.
- Početak stranice – Tijekom tog vremena stvaraju se 2 objekta, poznata kao objekti Request i Response. Objekt Request koristi se za pohranjivanje svih informacija koje su poslane kada je stranica zatražena. Objekt Response koristi se za pohranjivanje informacija koje se šalju natrag korisniku.
- Inicijalizacija stranice – Tijekom tog vremena, sve kontrole na web stranici su inicijalizirane. Dakle, ako imate bilo kakvu oznaku, tekstualni okvir ili bilo koje druge kontrole na web obrascu, sve su inicijalizirane.
- Učitavanje stranice – Ovo je trenutak kada se stranica stvarno učitava sa svim zadanim vrijednostima. Dakle, ako tekstni okvir treba imati zadanu vrijednost, ta se vrijednost učitava tijekom vremena učitavanja stranice.
- Potvrđivanje – Ponekad se na obrascu može nalaziti određena provjera valjanosti. Na primjer, može postojati provjera valjanosti koja kaže da okvir s popisom treba imati određeni skup vrijednosti. Ako je uvjet lažan, trebala bi postojati pogreška pri učitavanju stranice.
- Obrada događaja postbacka – Ovaj se događaj pokreće ako se ista stranica ponovno učitava. To se događa kao odgovor na raniji događaj. Ponekad se može dogoditi da korisnik klikne gumb za slanje na stranici. U tom slučaju, ista se stranica ponovno prikazuje i poziva se program za obradu događaja Postback.
- Prikaz stranice – To se događa neposredno prije nego što se sve informacije o odgovoru pošalju korisniku. Svi podaci na obrascu se spremaju, a rezultat se šalje korisniku kao cjelovita web stranica.
- Istovariti – Nakon što se izlaz stranice pošalje korisniku, nema potrebe čuvati ASP.net web obrazac objekti u memoriji. Dakle, proces pražnjenja uključuje uklanjanje svih neželjenih objekata iz memorije.
Događaji životnog ciklusa ASP.NET stranice
Osim gore navedenih širokih faza, ASP.NET pokreće specifičan niz događaja stranice koje programeri mogu obraditi u kodu. Poznavanje redoslijeda pomaže vam da postavite logiku tamo gdje ispravno radi:
- PreInit – postavljanje glavnih stranica i tema te stvaranje dinamičkih kontrola.
- U tome – svaka kontrola je inicijalizirana; koristite je za čitanje ili postavljanje svojstava kontrole.
- InitComplete – podiže se nakon što je završena sva inicijalizacija.
- Predopterećenje – događa se prije nego što stranica učita stanje prikaza i podatke o povratnoj objavi.
- Opterećenje – stranica i njezine kontrole su učitane; većina logike stranice ide ovdje.
- Kontrolni događaji – obrađuju se događaji specifični za kontrolu, kao što je klik na gumb.
- Predrenderiranje – napraviti konačne promjene na stranici ili kontrolama prije ispisa.
- SpremiStanjeZavršeno – stanje prikaza sprema se za sve kontrole.
- učiniti – stranica generira HTML izlaz koji se šalje pregledniku.
- Istovariti – vrši se čišćenje i objekti se oslobađaju iz memorije.
Životni ciklus aplikacije u odnosu na životni ciklus stranice
Životni ciklus aplikacije i životni ciklus stranice djeluju na različitim područjima. Tablica u nastavku pojašnjava kako se razlikuju:
| Aspekt | Životni ciklus aplikacije | Životni ciklus stranice |
|---|---|---|
| Djelokrug | Cijela web aplikacija | Zahtjev za jednu stranicu |
| Počinje | Na prvi zahtjev (Application_Start) | Svaki put kada se zatraži stranica |
| Ključni događaji | Početak_aplikacije, Početak_zahtjeva, Kraj_aplikacije | Inicijalizacija, Učitavanje, Predrenderiranje, Isprazni |
| Frekvencija | Jednom po početku i kraju aplikacije | Zahtjev jednom po stranici |
Ukratko, životni ciklus aplikacije obuhvaća cijelu aplikaciju od pokretanja do gašenja, dok se životni ciklus stranice pokreće svaki put kada korisnik zatraži stranicu.
Zašto je važno razumjeti životni ciklus ASP.NET-a
Razumijevanje životnog ciklusa je ključno jer ASP.NET izvršava vaš kod u određenim trenucima, a postavljanje logike u pogrešan događaj uzrokuje teško uočljive greške. Jasno razumijevanje slijeda pomaže vam:
- Rano stvaranje ili konfiguriranje dinamičkih kontrola, u PreInitu ili Initu.
- Postavite zadane kontrolne vrijednosti u događaju Load kako bi se ispravno prikazivale.
- Primijenite konačne promjene prikaza u PreRenderu, nakon što su svi podaci povezani.
- Razlikujte zahtjeve za prvo učitavanje od povratnih poruka kako biste izbjegli dvostruku obradu podataka.
- Oslobodite resurse i očistite ih u Unloadu kako biste spriječili curenje memorije.
Ovladavanje ovim događajima čini upravljanje stanjem, validaciju i otklanjanje pogrešaka daleko predvidljivijim.


