ASP.NET-sovelluksen ja SIVUN elinkaari
Tรคssรค opetusohjelmassa opit -
Mikรค on ASP.Net Lifecycle?
Kun ASP.Net-sovellus kรคynnistetรครคn, suoritetaan useita vaiheita. Nรคmรค vaiheet muodostavat sovelluksen elinkaaren.
Katsotaanpa ASP.Net-verkkosovelluksen tyypillisen sivun elinkaaren eri vaiheita.
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รค menee sovelluksen kotisivulle ensimmรคistรค kertaa. Tรคnรค aikana on olemassa menetelmรค nimeltรค Application_start, jonka verkkopalvelin suorittaa. Yleensรค tรคssรค menetelmรคssรค kaikki globaalit muuttujat asetetaan oletusarvoihinsa.
2) Objektien luominen โ Seuraava vaihe on verkkopalvelimen HttpContext, HttpRequest & HttpResponse luominen. HttpContext on vain HttpRequest- ja HttpResponse-objektien sรคilรถ. HttpRequest-objekti sisรคltรครค tietoja nykyisestรค pyynnรถstรค, mukaan lukien evรคsteet ja selaintiedot. HttpResponse-objekti sisรคltรครค vastauksen, joka lรคhetetรครคn asiakkaalle.
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รค on useita vaiheita.
Katsotaanpa ASP.Net-verkkosivun elinkaaren eri vaiheita.
- Sivupyyntรถโ Tรคmรค on silloin, kun sivua pyydetรครคn ensimmรคisen kerran palvelimelta. Kun sivua pyydetรครคn, palvelin tarkistaa, pyydetรครคnkรถ sitรค ensimmรคistรค kertaa. Jos nรคin on, sen on koottava 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 sivutuloste olemassa. Jos nรคin on, vastaus lรคhetetรครคn kรคyttรคjรคlle.
- Sivun aloitus โ Tรคnรค aikana luodaan 2 objektia, jotka tunnetaan nimellรค Request and Response -objekti. Request-objektia kรคytetรครคn sรคilyttรคmรครคn kaikki tiedot, jotka lรคhetettiin, kun sivua pyydettiin. Response-objektia kรคytetรครคn sรคilyttรคmรครคn tiedot, jotka lรคhetetรครคn takaisin kรคyttรคjรคlle.
- Sivun alustus โ Tรคnรค aikana kaikki web-sivun sรครคtimet alustetaan. Joten jos sinulla on tunnisteita, tekstiruutuja tai muita ohjaimia verkkolomakkeessa, 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 sama sivu ladataan uudelleen. Tรคmรค tapahtuu vastauksena aikaisempaan tapahtumaan. Joskus voi olla tilanne, ettรค kรคyttรคjรค napsauttaa sivulla olevaa lรคhetyspainiketta. Tรคssรค tapauksessa sama sivu nรคytetรครคn uudelleen. Tรคssรค tapauksessa kutsutaan takaisinlรคhetystapahtumakรคsittelijรค.
- 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.


