Въведение в жизнения цикъл на 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.
  • Почистването се извършва на:
  1. Екземпляри от класове, тоест обекти.
  2. Затваряне на отворени файлове.
  3. Затваряне на връзки към база данни.
  • Събитието за разтоварване се случва за всяка контрола и накрая за страницата.
  • По време на този етап страницата и нейните контроли са били предоставени, като по този начин не е възможно да се правят допълнителни промени в потока на отговори.
  • Ако се обадите на метод като Отговора. Тогава страницата би хвърлила изключение.

Заключение - Жизнен цикъл на страницата на ASP.NET

Следователно можем да заключим, че всеки път, когато дадена страница бъде поискана от браузъра от потребителя, заявката ще премине през серия от стъпки и на заден план ще се случат различни неща, така че да се получи продукцията и да се изпрати отговора обратно на клиента. Продължителността между тази заявка и отговора на страница е известна като „Жизнен цикъл на страницата“.

Препоръчителни статии

Това е ръководство за жизнения цикъл на страницата на ASP.NET. Тук обсъдихме концепцията, различните етапи и фазите на жизнения цикъл на страницата на ASP.NET. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Как да инсталирате. NET
  2. Въпроси за интервю на ASP.Net
  3. Какво е мрежова сигурност?
  4. Въпроси за интервю за тестване на проникване