ASP.NET-sovelluksen ja SIVUN elinkaari
⚡ Älykäs yhteenveto
ASP.NET-sovelluksen ja sivun elinkaari kuvaa järjestettyjä vaiheita, joiden läpi pyyntö kulkee sovelluksen käynnistyksestä ja objektin luomisesta sivun alustamiseen, lataamiseen, renderöintiin ja purkamiseen.ping Kehittäjät sijoittavat koodin oikeaan kohtaan.

Mikä on ASP.Net Lifecycle?
Kun ASP.Net-sovellus käynnistetään, suoritetaan useita vaiheita. Nämä vaihesarjat muodostavat sovelluksen elinkaaren.
Tarkastellaanpa ASP.Net-verkkosovelluksen tyypillisen elinkaaren eri vaiheita.
ASP.Netin elinkaari
1) Sovelluksen aloitus – An ASP.NET Sovellus käynnistyy, kun käyttäjä tekee pyynnön. Tämä pyyntö on osoitettu ASP.Net-sovelluksen web-palvelimelle. Tämä tapahtuu, kun ensimmäinen käyttäjä yleensä siirtyy sovelluksen kotisivulle ensimmäistä kertaa. Tänä aikana web-palvelin suorittaa Application_Start-nimisen metodin. Yleensä tässä metodissa kaikki globaalit muuttujat asetetaan oletusarvoihinsa.
2) Objektien luominen – Seuraava vaihe on HttpContext-, HttpRequest- ja HttpResponse-objektien luominen web-palvelimen toimesta. HttpContext on vain säilö HttpRequest- ja HttpResponse-objekteille. HttpRequest-objekti sisältää tietoja nykyisestä pyynnöstä, mukaan lukien evästeet ja selaintiedot. HttpResponse-objekti sisältää asiakkaalle lähetettävän vastauksen.
3) Http-sovelluksen luominen – Verkkopalvelin luo tämän objektin. Tätä objektia käytetään käsittelemään jokainen sovellukselle lähetetty pyyntö. Oletetaan esimerkiksi, että meillä on kaksi verkkosovellusta: toinen on kauppaping ostoskorisovellus ja toinen on uutissivusto. Jokaiselle sovellukselle luotaisiin kaksi HttpApplication-objektia. Kumpikin HttpApplication käsittelee kaikki jatkopyynnöt kullekin verkkosivustolle erikseen.
4) Hävitä – Tämä tapahtuma kutsutaan ennen kuin sovellusesiintymä tuhotaan. Tänä aikana tämän menetelmän avulla voidaan vapauttaa manuaalisesti kaikki hallitsemattomat resurssit.
5) Hakemuksen loppu – Tämä on hakemuksen viimeinen osa. Tässä osassa sovellus lopulta puretaan muistista.
Mikä on ASP.Net-sivun elinkaari?
Kun ASP.Net-sivua kutsutaan, se käy läpi tietyn elinkaaren. Tämä tehdään ennen kuin vastaus lähetetään käyttäjälle. ASP.Net-sivun käsittelyssä noudatetaan useita vaiheita.
Katsotaanpa ASP.Net-verkkosivun elinkaaren eri vaiheita.
ASP.Net-sivun elinkaari
- Sivupyyntö – Tämä tapahtuu, kun sivua pyydetään ensimmäisen kerran palvelimelta. Kun sivua pyydetään, palvelin tarkistaa, onko sitä pyydetty ensimmäistä kertaa. Jos näin on, sen on käännettävä sivu, jäsennettävä vastaus ja lähetettävä se käyttäjälle. Jos sivua ei pyydetä ensimmäistä kertaa, välimuistista tarkistetaan, onko sivun tulostetta olemassa. Jos on, vastaus lähetetään käyttäjälle.
- Sivun aloitus – Tänä aikana luodaan kaksi objektia, jotka tunnetaan Request- ja Response-objekteina. Request-objektia käytetään säilyttämään kaikki sivua pyydettäessä lähetetyt tiedot. Response-objektia käytetään säilyttämään käyttäjälle takaisin lähetetyt tiedot.
- Sivun alustus – Tänä aikana kaikki verkkosivun ohjausobjektit alustetaan. Joten jos verkkolomakkeella on otsikoita, tekstiruutuja tai muita ohjausobjekteja, ne kaikki alustetaan.
- Sivun lataus – Tämä on silloin, kun sivu todella ladataan kaikilla oletusarvoilla. Joten jos tekstilaatikolla oletetaan olevan oletusarvo, tämä arvo ladataan sivun latausajan aikana.
- Validation – Joskus lomakkeella voi olla jokin vahvistusasetus. Esimerkiksi voi olla validointi, jossa sanotaan, että luetteloruudulla tulee olla tietty joukko arvoja. Jos ehto on epätosi, sivun lataamisessa pitäisi tapahtua virhe.
- Tapahtuman jälkikäsittely – Tämä tapahtuma käynnistyy, jos samaa sivua ladataan uudelleen. Tämä tapahtuu vastauksena aiempaan tapahtumaan. Joskus voi olla tilanne, jossa käyttäjä napsauttaa sivulla olevaa lähetyspainiketta. Tässä tapauksessa sama sivu näytetään uudelleen ja Postback-tapahtumankäsittelijää kutsutaan.
- Sivun renderöinti – Tämä tapahtuu juuri ennen kuin kaikki vastaustiedot lähetetään käyttäjälle. Kaikki lomakkeen tiedot tallennetaan ja tulos lähetetään käyttäjälle kokonaisena verkkosivuna.
- Purkaa – Kun sivutuloste on lähetetty käyttäjälle, ei ole tarvetta säilyttää ASP.net verkkolomake esineitä muistissa. Joten purkuprosessi sisältää kaikkien ei-toivottujen kohteiden poistamisen muistista.
ASP.NET-sivun elinkaaritapahtumat
Yllä mainittujen laajojen vaiheiden lisäksi ASP.NET luo tietyn sivutapahtumien sarjan, jonka kehittäjät voivat käsitellä koodissa. Järjestyksen tunteminen auttaa sijoittamaan logiikan oikein:
- Esiasennus – määrittää pääsivuja ja teemoja sekä luoda dynaamisia ohjausobjekteja.
- Sen sisällä – jokainen ohjausobjekti alustetaan; käytä sitä ohjausobjektin ominaisuuksien lukemiseen tai asettamiseen.
- AlustusValmis – nostetaan esiin kaiken alustuksen valmistuttua.
- Esilataus – tapahtuu ennen kuin sivu lataa näkymän tilan ja postback-tiedot.
- Ladata – sivu ja sen ohjausobjektit ladataan; suurin osa sivulogiikasta tapahtuu täällä.
- Ohjaustapahtumat – ohjausobjektiin liittyvät tapahtumat, kuten painikkeen napsautus, käsitellään.
- Esirenderöinti – tee lopulliset muutokset sivulle tai ohjausobjekteihin ennen tulostusta.
- Tallennustila valmis – kaikkien ohjausobjektien näkymätila tallennetaan.
- tehdä – sivu luo HTML-tulosteen, joka lähetetään selaimelle.
- Purkaa – siivous suoritetaan ja objektit vapautetaan muistista.
Sovelluksen elinkaari vs. sivun elinkaari
Sovelluksen elinkaari ja sivun elinkaari toimivat eri laajuisilla alueilla. Alla oleva taulukko selventää, miten ne eroavat toisistaan:
| Aspect | Käyttöikä -työkierto | Sivun elinkaari |
|---|---|---|
| Laajuus | Koko verkkosovellus | Yhden sivun pyyntö |
| Alkaa | Ensimmäisellä pyynnöllä (Application_Start) | Joka kerta, kun sivua pyydetään |
| Avaintapahtumat | Sovelluksen_aloitus, Aloituspyyntö, Sovelluksen_loppu | Alusta, Lataa, Esirenderöi, Pura |
| Taajuus | Kerran hakemuksen alussa ja lopussa | Kerran sivua kohden tehty pyyntö |
Lyhyesti sanottuna sovelluksen elinkaari kattaa koko sovelluksen käynnistyksestä sammutukseen, kun taas sivun elinkaari suoritetaan joka kerta, kun käyttäjä pyytää sivua.
Miksi ASP.NET-elinkaaren ymmärtäminen on tärkeää
Elinkaaren ymmärtäminen on olennaista, koska ASP.NET suorittaa koodiasi tiettyinä hetkinä, ja logiikan sijoittaminen väärään tapahtumaan aiheuttaa vaikeasti löydettäviä virheitä. Selkeä ymmärrys järjestyksestä auttaa sinua:
- Luo tai määritä dynaamisia ohjausobjekteja varhaisessa vaiheessa PreInit- tai Init-tilassa.
- Aseta Load-tapahtumassa oletusarvoiset ohjausobjektien arvot, jotta ne renderöidään oikein.
- Käytä lopullisia näyttömuutoksia PreRenderissä, kun kaikki tiedot on sidottu.
- Erota ensimmäisen latauksen pyynnöt takaisinkutsuista välttääksesi datan käsittelyn kahdesti.
- Vapauta resursseja ja siivoa Purka-kohdassa muistivuotojen estämiseksi.
Näiden tapahtumien hallinta tekee tilanhallinnasta, validoinnista ja virheenkorjauksesta paljon ennustettavampaa.


