Въведение в жизнения цикъл на ASP.NET
Всеки път, когато поискаме страница, първо тя се зарежда в паметта, след това се обработва и изпраща до браузъра. След това се разтоварва от паметта. Във всяка стъпка са достъпни методи, както и събития, които могат да бъдат отменени в зависимост от необходимостта на приложението. Първият клас създава йерархично дърво на всички контроли. Всички тези компоненти, с изключение на директивите, които са част от това дърво. Можем да видим контролното дърво, ако добавим trace = „true“ към директивата на страницата.
Жизнен цикъл на страницата на ASP.NET
Фазите на жизнения цикъл на страницата на ASP.NET са Инициализация, Незабавно управление, Възстановяване и поддържане на състояние, Изпълнение на кодове за обработване на събития и изобразяване на страница. ASP.NET Page Life Cycle е по същество рамка за уеб приложения, разработена и пусната на пазара от Microsoft, за да позволи на програмистите да изграждат динамични уеб приложения. Тя позволява на потребителите да използват напълно включени езици като C # или VB.NET. Той използва командите HTTP, работи върху HTTP протокола и използва HTTP политики, за да настрои двустранна комуникация за браузър-сървър. ASP.NET кодовете могат да бъдат написани на всеки от следните езици: C #, J #, JScript или Visual Basic.Net. ASP.NET има голям брой контроли като текстови полета, бутони и етикети, които могат да бъдат необходими за манипулиране и сглобяване на кода за създаване на HTML страници.
Различните етапи на жизнения цикъл на ASP.NET Page са както следва:
PreInit
- На този етап се проверява свойството IsPostBack, така че да се установи дали за първи път се обработва страницата.
- Създаване или възстановяване на динамични контроли.
- Настройка на основната страница динамично.
- Настройка на свойството Theme динамично.
В него
- Този етап се стартира след всяко инициализиране на контрола.
- Зададен е UniqueID на всеки контролен елемент.
- Този етап се използва и за инициализиране на контролни свойства.
- Събитието първо се задейства за най-долния контрол и след това се задейства нагоре по йерархията до самата страница.
InitComplete
- Това събитие може да се използва за промяна на състоянието на изгледа.
- Това събитие се повдига от обекта Page.
- Събитието може да се използва за обработка на задачи, която се нуждае от инициализация.
OnPreLoad
- Това конкретно събитие винаги се повдига, след като състоянието се покаже от зареждането на страницата за себе си, както и от всички контроли, както и след като обработва данните за връщане назад, които са отишли заедно с екземпляра Request.
- OnPreLoad също зарежда състоянието на изглед за себе си, както и всички контроли преди екземплярът на страницата да повдигне това конкретно събитие и след това обработва всички данни за връщане назад в заявката.
натоварване
- Методът на зареждане се извиква на обекта Page и след това рекурсивно той прави същото за всеки контролен дете, всички контроли се зареждат. Събитието Load на страницата се случва преди събитието Load на отделните контроли.
- Това е първото място в жизнения цикъл на страницата, където всички стойности се възстановяват.
- Стойността на IsPostBack се проверява най-вече, за да се избегне ненужното състояние на нулиране.
- Можем да се обадим на валидиращия метод и да проверим дали IsValid.
- Тук можем да създадем и динамични контроли.
- Методът на събитието OnLoad също се използва за установяване на връзки към база данни и задаване на свойства в контролите.
Контрол на събитията в PostBack
- Сега NET ще извика онези събития на страницата или или нейните контроли, които са причинили извършването на PostBack.
- В този случай, ако страницата има някой от контролите за валидиране, трябва да проверим свойството IsValid на Страницата, преди да извършим какъвто и да е вид обработка, а също така трябва да проверим същото свойство за индивидуални контроли за проверка.
- Това е пример за контролно събитие, като например събитие с натискане на бутон, което е причинило обратното връщане.
LoadComplete
- Това събитие се повдига в края на етапа на обработка на събитията.
- LoadComplete събитието се използва за работата, която изисква всички останали контроли на страницата, за да се заредят.
OnPreRender
- Събитието OnPreRender ще бъде повдигнато само след като обектът Page е създал всички необходими контроли, както и дъщерни контроли, за да визуализира страницата.
- Събитието PreRender на обекта Page се повдига от Page Object и след това, по рекурсивен начин, прави същото за всяко от децата.
- Събитието PreRender на страницата се случва преди събитието PreRender на отделните контроли.
- Той също така позволява окончателни промени в страницата.
- Този етап възниква преди запазването на ViewState, така че промените, които са направени тук, се запазват.
OnSaveStateComplete
- Това се повдига, след като състоянието на изгледа, както и състоянието на контрол са запазени за страницата и контролите.
- ViewState е запазен за страницата и всички контроли, преди да се случи това конкретно събитие.
- Всички промени, които се правят на страницата или контролите на този етап, ще бъдат игнорирани.
- Методът за изобразяване е методът на обекта на страницата и нейните контроли и не е събитие.
- Този метод генерира динамичен език за маркиране на хипертекста (DHTML), HTML от страна на клиента, както и скриптове, необходими за правилното показване на контрола в браузъра.
разтоварвам
- Това последно събитие се използва основно за почистване.
- Тук е извършена цялата обработка и вече е безопасно да се изхвърлят всички останали обекти, които включват и обект Page.
- Почистването се извършва на:
- Екземпляри от класове, тоест обекти.
- Затваряне на отворени файлове.
- Затваряне на връзки към база данни.
- Събитието за разтоварване се случва за всяка контрола и накрая за страницата.
- По време на този етап страницата и нейните контроли са били предоставени, като по този начин не е възможно да се правят допълнителни промени в потока на отговори.
- Ако се обадите на метод като Отговора. Тогава страницата би хвърлила изключение.
Заключение - Жизнен цикъл на страницата на ASP.NET
Следователно можем да заключим, че всеки път, когато дадена страница бъде поискана от браузъра от потребителя, заявката ще премине през серия от стъпки и на заден план ще се случат различни неща, така че да се получи продукцията и да се изпрати отговора обратно на клиента. Продължителността между тази заявка и отговора на страница е известна като „Жизнен цикъл на страницата“.
Препоръчителни статии
Това е ръководство за жизнения цикъл на страницата на ASP.NET. Тук обсъдихме концепцията, различните етапи и фазите на жизнения цикъл на страницата на ASP.NET. Можете да разгледате и другите ни предложени статии, за да научите повече -
- Как да инсталирате. NET
- Въпроси за интервю на ASP.Net
- Какво е мрежова сигурност?
- Въпроси за интервю за тестване на проникване