Životní cyklus aplikací a stránek ASP.NET
⚡ Chytré shrnutí
Životní cyklus aplikace a stránky ASP.NET popisuje uspořádané fáze, kterými požadavek prochází, od spuštění aplikace a vytvoření objektu až po inicializaci stránky, načtení, vykreslení a uvolnění, hel.ping vývojáři umisťují kód na správné místo.

Co je životní cyklus ASP.Net?
Při spuštění ASP.Net aplikace se provede řada kroků. Tyto série kroků tvoří životní cyklus aplikace.
Pojďme se podívat na různé fáze typického životního cyklu webové aplikace ASP.Net.
Životní cyklus ASP.Net
1) Spuštění aplikace – Životní cyklus an ASP.NET Aplikace se spustí, když uživatel odešle požadavek. Tento požadavek je odeslán webovému serveru pro aplikaci ASP.Net. K tomu dochází, když první uživatel obvykle poprvé navštíví domovskou stránku aplikace. Během této doby webový server spustí metodu s názvem Application_Start. V této metodě jsou obvykle všechny globální proměnné nastaveny na své výchozí hodnoty.
2) Vytvoření objektu – Další fází je vytvoření objektů HttpContext, HttpRequest a HttpResponse webovým serverem. HttpContext je pouze kontejner pro objekty HttpRequest a HttpResponse. Objekt HttpRequest obsahuje informace o aktuálním požadavku, včetně souborů cookie a informací o prohlížeči. Objekt HttpResponse obsahuje odpověď, která je odeslána klientovi.
3) Vytvoření HttpApplication – Tento objekt je vytvořen webovým serverem. Je to tento objekt, který se používá ke zpracování každého následného požadavku odeslaného do aplikace. Předpokládejme například, že máme 2 webové aplikace: jedna je obchodping aplikace košíku a druhá je zpravodajský web. Pro každou aplikaci bychom měli vytvořené 2 objekty HttpApplication. Jakékoli další požadavky na každý web by byly zpracovány každou HttpApplication.
4) Zlikvidujte – Tato událost je volána před zničením instance aplikace. Během této doby lze tuto metodu použít k ručnímu uvolnění všech nespravovaných zdrojů.
5) Konec aplikace – Toto je poslední část aplikace. V této části je konečně aplikace vytažena z paměti.
Co je životní cyklus stránky ASP.Net?
Když je volána stránka ASP.Net, prochází určitým životním cyklem. To se provádí před odesláním odpovědi uživateli. Pro zpracování stránky ASP.Net se dodržuje řada kroků.
Podívejme se na různé fáze životního cyklu webové stránky ASP.Net.
Životní cyklus stránky ASP.Net
- Žádost o stránku – V tomto okamžiku je stránka poprvé vyžádána ze serveru. Při vyžádání stránky server zkontroluje, zda je vyžádána poprvé. Pokud ano, musí stránku zkompilovat, analyzovat odpověď a odeslat ji uživateli. Pokud se nejedná o první požadavek na stránku, zkontroluje se mezipaměť, zda výstup stránky existuje. Pokud ano, odpověď se odešle uživateli.
- Začátek stránky – Během této doby se vytvoří 2 objekty, známé jako objekty Request a Response. Objekt Request se používá k uchovávání všech informací, které byly odeslány při požadavku na stránku. Objekt Response se používá k uchovávání informací, které jsou odeslány zpět uživateli.
- Inicializace stránky – Během této doby se inicializují všechny ovládací prvky na webové stránce. Takže pokud máte na webovém formuláři nějaký popisek, textové pole nebo jakékoli jiné ovládací prvky, všechny se inicializují.
- Načtení stránky – To je, když se stránka skutečně načte se všemi výchozími hodnotami. Pokud má tedy textové pole mít výchozí hodnotu, tato hodnota se načte během načítání stránky.
- Potvrzení – Někdy může být na formuláři nastavena nějaká validace. Například může existovat ověření, které říká, že seznam by měl mít určitou sadu hodnot. Pokud je podmínka nepravdivá, mělo by dojít k chybě při načítání stránky.
- Zpracování událostí postback – Tato událost se spustí, pokud se stejná stránka znovu načítá. K tomu dochází v reakci na dřívější událost. Někdy může nastat situace, kdy uživatel klikne na tlačítko pro odeslání na stránce. V tomto případě se stejná stránka zobrazí znovu a je volána obslužná rutina události Postback.
- Vykreslování stránky – K tomu dochází těsně před odesláním všech informací o odpovědi uživateli. Všechny informace ve formuláři jsou uloženy a výsledek je odeslán uživateli jako kompletní webová stránka.
- vyložit – Jakmile je výstup stránky odeslán uživateli, není třeba uchovávat Webový formulář ASP.net objekty v paměti. Proces vykládání tedy zahrnuje odstranění všech nežádoucích objektů z paměti.
Události životního cyklu stránky ASP.NET
Kromě výše uvedených obecných fází ASP.NET vyvolává specifickou sekvenci událostí stránky, které mohou vývojáři zpracovat v kódu. Znalost pořadí vám pomůže umístit logiku tam, kde funguje správně:
- Předběžná inicializace – nastavit vzorové stránky a motivy a vytvořit dynamické ovládací prvky.
- Init – každý ovládací prvek je inicializován; použijte jej ke čtení nebo nastavení vlastností ovládacího prvku.
- InitComplete – vyvoláno po dokončení veškeré inicializace.
- Předběžné zatížení – dochází předtím, než stránka načte stav zobrazení a data zpětného odeslání.
- Zatížení – stránka a její ovládací prvky jsou načteny; většina logiky stránky se nachází zde.
- Řídicí události – jsou zpracovávány události specifické pro ovládací prvek, jako například kliknutí na tlačítko.
- Předběžné vykreslení – provést finální změny na stránce nebo v ovládacích prvcích před výstupem.
- UložitStavDokončeno – stav zobrazení se ukládá pro všechny ovládací prvky.
- poskytnout – stránka generuje HTML výstup odeslaný do prohlížeče.
- vyložit – provede se čištění a objekty se uvolní z paměti.
Životní cyklus aplikace vs. životní cyklus stránky
Životní cyklus aplikace a životní cyklus stránky fungují v různých oblastech. Následující tabulka objasňuje, jak se liší:
| Vzhled | Životní cyklus aplikace | Životní cyklus stránky |
|---|---|---|
| Rozsah | Celá webová aplikace | Žádost o jednu stránku |
| Začíná | Při prvním požadavku (Application_Start) | Pokaždé, když je vyžádána stránka |
| Klíčové události | Začátek_aplikace, Začátek_požadavky, Konec_aplikace | Inicializace, Načtení, Předběžné vykreslení, Uvolnění |
| Frekvence | Jednou na začátek a konec aplikace | Jednou na stránku požadavku |
Stručně řečeno, životní cyklus aplikace zahrnuje celou aplikaci od spuštění až po ukončení, zatímco životní cyklus stránky se spustí pokaždé, když uživatel požádá o zobrazení stránky.
Proč je důležité porozumět životnímu cyklu ASP.NET
Pochopení životního cyklu je nezbytné, protože ASP.NET spouští váš kód v určitých okamžicích a umístění logiky do nesprávné události způsobuje těžko odhalitelné chyby. Jasné pochopení sekvence vám pomůže:
- Vytvořte nebo nakonfigurujte dynamické ovládací prvky včas, v PreInit nebo Init.
- Nastavte výchozí hodnoty ovládacích prvků v události Load, aby se správně vykreslily.
- Po navázání všech dat aplikujte finální změny zobrazení v PreRenderu.
- Rozlišujte požadavky na první načtení od postbacků, abyste se vyhnuli dvojímu zpracování dat.
- Uvolněte zdroje a vyčistěte je v příkazu Unload, abyste zabránili úniku paměti.
Zvládnutí těchto událostí dělá správu stavu, ověřování a ladění mnohem předvídatelnějšími.


