ASP.NET life cycle and ASP.Net page life cycle

ASP.Net Lifecycle

जब एक ASP.Net एप्लिकेशन बनाया जाता है, तो कई स्टेप्स की सीरीज होती है,यही सीरीज एप्लीकेशन का लाइफ साइकिल होती है।

  • Application Start : – ASP.NET एप्लीकेशन का लाइफ साइकिल तब शुरू होता है जब यूजर द्वारा रिक्वेस्ट की जाती है| यह रिक्वेस्ट ASP.Net एप्लीकेशन द्वारा वेब सर्वर के लिए है। यह प्रोसेस तब शुरू होती है,जब यूजर पहली बार होम पेज पर जाता है। इस दौरान, Application start मेथड शुरू होती है,जिसे वेब सर्वर द्वारा एक्सीक्यूट किया जाता है। आमतौर पर, इस मेथड में, सभी ग्लोबल वेरिएबल उनके डिफ़ॉल्ट मानों पर सेट होते हैं।
  • Object creation :- अगला स्टेप वेब सर्वर द्वारा HttpContext, HttpRequest & HttpResponse का निर्माण करना है। HttpContext केवल HttpRequest और HttpResponse ऑब्जेक्ट के लिए कंटेनर है। HttpRequest ऑब्जेक्ट में करंट रिक्वेस्ट के बारे में जानकारी स्टोर होती है, जिसमें कुकीज़ और ब्राउज़र की जानकारी भी शामिल होती है। HttpResponse ऑब्जेक्ट में क्लाइंट को भेजा गया रिस्पांस भी सम्म्लित होता है।
  • HttpApplication creation :- यह ऑब्जेक्ट वेब सर्वर द्वारा बनाया गया है। यह ऑब्जेक्ट एप्लीकेशन को भेजी गयी रिक्वेस्ट को प्रोसेस करता है। उदाहरण के लिए, मान लें कि हमारे पास 2 वेब एप्लिकेशन हैं। एक शॉपिंग कार्ट एप्लिकेशन है, और दूसरा एक न्यूज़ वेबसाइट है,तो प्रत्येक एप्लिकेशन के लिए, HttpApplication ऑब्जेक्ट बनाए जाएंगे। प्रत्येक वेबसाइट पर किसी भी रिक्वेस्ट को क्रमशः HttpApplication द्वारा ही प्रोसेस किया जाता है |
  • Dispose :- इस इवेंट में एप्लीकेशन में बनाए गए सारे ऑब्जेक्ट्स को हटा दिया जाता है |
  • Application End :- यह एप्लिकेशन का अंतिम भाग है। इस भाग में, एप्लिकेशन को अंततः मेमोरी से अनलोड किया जाता है।

ASP.Net Page Lifecycle

जब ASP.NET Web Page Run होता है तो वह अपनी एक Life Cycle से गुजरता है, जिसमें ये कई Processing Steps की Series Perform करता है। इस Series के अन्तर्गत Web Page का Initialization होता है, यदि Web Page पर कोई Control हो, तो उन Controls का Initialization होता है, State को Restore व Maintain किया जाता है, Event Handler Codes को Run किया जाता है तथा Generate होने वाले Response को Web Browser द्वारा Render किया जाता है।

इसलिए किसी Page की Life Cycle को समझना हमारे लिए विशेष रूप से तब काफी उपयोगी साबित होता है, जब हम हमारे Web Page के लिए Custom Controls Develop कर रहे होते हैं। क्योंकि उस स्थिति में Controls को Correctly Initialize करना, View-State Data के साथ Control की Properties को Populate करना तथा Control के Behaviour को Run करने जैसे कामों को Page Life Cycle के Appropriate Stage में Perform करना जरूरी होता है |

सामान्यतः हमारे Custom Control की Life-Cycle भी हमारे Web Page की Life Cycle पर ही आधारित होती है, इसलिए Control के Life-Cycle को Page के Life-Cycle के आधार पर ही Control किया जाता है।

Image result for  ASP.Net Page Lifecycle

Page Request Stage

किसी Page की Life-Cycle शुरू होने से पहले Page Request Perform होता है, जो कि किसी User द्वारा किसी Web Page के लिए की गई Request को Represent करता है। इस Stage के दौरान ASP.NET Web Server इस बात का पता लगाता है कि जिस Web Page के लिए User ने Request Perform किया है, उस Web Page को Parse करके Compile करना पडेगा या उस Web Page का पहले से कोई Cached Version Exist है, जिसे Response Generate करने के लिए उपयोग में लिया जा सकता है।


Page Start Stage

किसी Web Page की Life-Cycle के इस State में Page की Request व Response जैसी Properties को Set किया जाता है। साथ ही इसी Stage में इस बात का भी पता लगाया जाता है कि जिस Page के लिए Request किया गया है, वह Request एक PostBack Request है या New Request है और इस बात का पता लगाने के लिए IsPostBack Property को Check किया जाता है। साथ ही Page अपने UICulture Property को भी इसी Stage में Set किया जाता है।

Page initialization Stage

किसी Page की Life-Cycle के इस Stage में Page का Initialization होता है जिसके दौरान Page पर स्थित विभिन्न Controls का Initialization होता है तथा उनकी UniqueID Property को Set किया जाता है। साथ ही यदि Master Page या किसी Theme को Specify किया गया हो, तो Web Page की Life-Cycle के इसी Stage के दौरान वह Master Page या Theme भी Apply होते हैं। जबकि Current Request एक PostBack Request हो तो PostBack Data अभी तक Load नहीं हुआ होता। साथ ही Control Property Values भी अपने View-State Values से Restored नहीं हुए होते हैं।

Page Load Stage

किसी Page की Life-Cycle के इस Stage में Page Load होता है। जबकि यदि Current Request एक PostBack Request हो तो Control, Property Values अपने View-State की Values से इसी Stage में Restore होते हैं।

Page Postback Event Handling Stage

यदि Current Request एक PostBack Request हो तो Control के Event Handlers किसी Page की Life-Cycle के इस Stage में Call होते हैं, जिसके बाद सभी Validator Controls के Validate() Methods Call होते हैं, जो कि Page के सभी Individual Controls की IsValid Property को Set करते हैं।

Page Rendering Stage

किसी Page की Life-Cycle के इस Stage में Rendering से पहले Current Page व उसके सभी Controls के लिए View-State Save होता है। इस Stage के दौरान Page, हर Control के लिए Render() Method को Call करता है और एक Text Writer Provide करता है जो कि अपने Output को हमारे Page की Response Property के OutputStream Object में Write कर देता है।

Page Unload Stage

किसी Page की Life-Cycle के इस Stage में हमारा Page पूरी तरह से Render हो चुका होता है, Client को Send कर दिया गया होता है और Destroy होने के लिए तैयार रहता है। इस Stage में Page की Response व Request जैसी Properties को Unload करके Clean कर दिया जाता है यानी .NET Platform द्वारा Garbage Collection का Procedure Execute कर दिया जाता है।


इस प्रकार से एक ASP.NET Web Page अपनी Life Cycle मे कई Stages से गुजरता है और हर Stage के अन्‍त में एक Event Trigger करता है, जो उस Stage के End को Represent करता है। इन्‍हीं Events के लिए हम हमारी जरूरत के अनुसार Code-Behind Class में Program Logic Codes लिखते हैं,


error: Content is protected !!