जब ASP.Net application को launch किया जाता है, तो कई steps की श्रृंखला को निष्पादित किया जाता है। steps की ये श्रृंखला application का जीवनचक्र बनाती है। आइए ASP.Net Web Application के एक विशिष्ट जीवनचक्र (lifecycle) के विभिन्न चरणों (steps) को समझते हैं |
1. Application Start – एक ASP.NET application का जीवन चक्र (life cycle) तब शुरू होता है जब एक उपयोगकर्ता द्वारा request की जाती है। यह request web server से ASP.Net application के लिए है। ऐसा तब होता है जब पहला उपयोगकर्ता सामान्य रूप से पहली बार होम पेज पर जाता है। इस समय के दौरान application_start नामक एक method होती है जिसे वेब सर्वर द्वारा निष्पादित (execute ) किया जाता है।
2. Object creation – अगला step वेब सर्वर द्वारा HttpContext, HttpRequest & HttpResponse का निर्माण करना है। HttpContext केवल HttpRequest और HttpResponse object के लिए container है। HttpRequest object में current request के बारे में जानकारी होती है, जिसमें cookies और browser की जानकारी शामिल होती है। HttpResponse object में client को भेजा गया response होता है।
3. HttpApplication creation – यह object वेब सर्वर द्वारा बनाया गया है। यह वह object है जिसका उपयोग application को भेजे गए प्रत्येक subsequent request को process करने के लिए किया जाता है। उदाहरण के लिए, मान लें कि हमारे पास 2 वेब एप्लिकेशन हैं। एक shopping cart application है, और दूसरी news website है। प्रत्येक application के लिए, हमारे द्वारा 2 HttpApplication object बनाए जाएंगे। प्रत्येक वेबसाइट पर किसी भी request को क्रमशः प्रत्येक HttpApplication द्वारा process किया जाएगा ।
4. Dispose – इस event को application instance के destroy होने से पहले call किया जाता है। इस दौरान, किसी भी unmanaged resources को manually जारी करने के लिए इस method का उपयोग कर सकते है।
5. Application End – यह application का final part है। इस part में, एप्लिकेशन को मेमोरी से अनलोड किया जाता है।
ASP.Net page lifecycle क्या है?
जब ASP.Net page को call किया जाता है, तो यह एक विशेष lifecycle से गुजरता है। यह process उपयोगकर्ता को response भेजे जाने से पहले की जाती है। यह कई चरणों (steps) की श्रृंखला होती है जिसका ASP.Net page की processing के लिए अनुसरण किया जाती हैं। ASP.Net वेब पेज की lifecycle के विभिन्न steps को समझते हैं |
Page Request
यह तब होता है जब server से पहली बार page की request की जाती है। जब page की request की जाती है, तो server यह जांचता है कि क्या यह पहली बार request की गई है। यदि ऐसा है, तो उसे page को compile करने, response को parse करने और उपयोगकर्ता को भेजने की आवश्यकता होती है। यदि पहली बार page की request नहीं की गई है, तो यह देखने के लिए cache की जांच की जाती है कि page की output मौजूद है या नहीं। यदि है, तो उस response को उपयोगकर्ता के लिए भेजा जाता है।
Page Start
इस दौरान, Request और Response objects को बनाया जाता है। Request objects का उपयोग उन सभी सूचनाओं को रखने के लिए किया जाता है जो page की request के समय भेजी गई थीं। Response object का उपयोग उन सूचनाओं को रखने के लिए किया जाता है जो उपयोगकर्ता को वापस भेजी जाती हैं।
Page Initialization
इस समय के दौरान, एक वेब पेज पर सभी controls initialize किए जाते हैं। इसलिए यदि आपके पास web form पर कोई label, textbox या कोई अन्य controls है, तो उन सभी को initialize किया जाता हैं।
Page Load
यह तब होता है जब page वास्तव में default values से भरा हुआ हो| यदि किसी textbox में default value है, तो page load होते समय उसी value को load किया जाता है।
Validation
कभी-कभी form पर validation set किया जा सकता है। उदाहरण के लिए, एक validation ऐसा हो सकता है जिसमे एक list box में values को set होना चाहिए। यदि condition false होती है, तो page load करने में error आनी चाहिए।
Postback event handling
यदि page को फिर से load किया जाता है तो यह event शुरू हो जाता है। कभी-कभी ऐसी स्थिति हो सकती है कि उपयोगकर्ता page पर submit button पर click करता है तो इस स्थिति में, फिर से वही page display किया जाता है। ऐसे मामले में, Postback event handler को call किया जाता है।
Page Rendering
यह response information उपयोगकर्ता को भेजे जाने से ठीक पहले होता है। form की सभी जानकारीया save कर ली जाती है, और result को complete web page के रूप में उपयोगकर्ता को भेजा जाता है।
Unload
उपयोगकर्ता को page की output भेजे जाने के बाद, ASP.net web form object को memory में रखने की कोई आवश्यकता नहीं होती| इसलिए unloading process में memory से सभी unwanted objects को निकालना शामिल है|