Event Model of ASP.NET WebForms – ASP.NET Framework, Web Application Develop करने के लिए ठीक उसी प्रकार का Event Driven Programming Model Provide करता है, जिस तरह का Programming Model Desktop Applications Develop करने के लिए Visual Basic Programming Language युक्त Visual Studio के माध्यम से Provide किया जाता था।
इस Model के अन्तर्गत हम विभिन्न User Interface से सम्बंधित Web Controls को Web Form पर Place करते हैं और फिर इस बात को तय करते हैं कि किस Event को हम किस प्रकार से Respond करना चाहते हैं।
विभिन्न Events को Handle करने के लिए जो Event Handlers Create किए जाते हैं, वे काफी Discrete होते हैं तथा Page को छोटा व Organized बनाए रखने के लिए उपयोगी होते हैं। ये Model कोई नया Model नहीं है, बल्कि Windows UI Programming के लिए मूल रूप सेइसी Model को Develop किया गया था और ASP.NET आधारित Web Application Develop करने के लिए ASP.NET Framework के रूप में इसे फिर से Re-Implement किया गया है। एक ASP.NET Event Model मूलत: निम्न Flow में काम करता है:
- जब User किसी Page के लिए पहली बार Request करता है, तो NET Server उस Page को Execute करने के लिए सबसे पहले Page व विभिन्न Control Objects Create करता है और उन्हें Request करने वाले User के Web Browser में Send कर देता है।
- फिर User उस Page पर कोई Action (जैसे कि किसी Button को Click करना) Perform करता है, जिसके लिए Postback Trigger होता है और Page अपने सभी Form Data के साथ फिर से NET Server पर पहुंचता है।
- NET Server फिर से उस आने वाली Request के लिए Page व उस Page के सभी Control Objectsको Re-Create करता है। लेकिन इस बार इन्हें Create करते समय इस बात का ध्यान रखता है कि वे उसी State में रहें, जिस State में वे पिछली बार की Request को Complete करते समय यानी User को Response Return करते समय थे।
- फिर NET Server ये Check करता है कि किस User Operation की वजह से Postback Trigger हुआ है और उस User Action से सम्बंधित Event (जैसे कि Button.Click Event) Fire करता है, जिसे Handle करने के लिए उससे Associated Event Handler Method Execute होता है। सामान्यत: इसी Event Handler में हम हमारे Server Side Operations (जैसे कि Database को Update करना, आदि) Perform करते हैं व अपने Page के विभिन्न Control Objects के Content को Modify करते हैं।
- फिर इस Modified Response Dataको User के Web Browser में Return होने वाले Response Page के रूप में Render होने के लिए NET Server द्वारा Resend कर दिया जाता हैं, जिसे User का Web Browser फिर से Render कर देता है। साथ ही ASP.NET Server द्वारा Current Response Send करने के साथ ही Crete होने वाले Page Object व सभी Control Objects को Memory से Release कर दिया जाता है।
परिणामस्वरूप यदि User अपने Web Browser में Rendered Response Page पर फिर से कोई Action Perform करता है, जिसके लिए Postback Trigger होता है, तो फिर से उपरोक्तानुसार Step 2 से 4 तक Repeat होते हैं और फिर से Page व Control Objects Recreate होते हैं।
चूंकि हर Request को Fulfill करने के साथ ही ASP.NET Server अपने Create किए गए Page व Control Objects को Memory से Release कर देता है, इसीलिए जब User फिर से अपने Web Browser में Loaded ASP.NET Page पर कोई Action Perform करता है, जिसके Response में Postback Trigger होता है, तो इस नई Request को Handle करने के लिए ASP.NET Server फिर से पूरी प्रक्रिया को दोहराता है, क्योंकि पिछली Request के बारे में वह कोई जानकारी Store करके नहीं रखता।
अन्य शब्दों में कहें तो ASP.NET केवल हमारे Page के लिए Control Objects को Configure करने के लिए ही Form Data को Use नहीं करता। बल्कि ये Form Data का प्रयोग इस बात का निर्णय लेने के लिए भी करता है कि User ने Client Side में किस Event को Fire किया है।
उदाहरण के लिए यदि User ने Last Postback के बाद अपने Form में Placed Textbox के Text को Change किया हो, तो हमारे Page को इस Change के बारे में Notify करने के लिए भी ये एक Event Trigger करता है। जबकि ये हमारी इच्छा पर निर्भर करता है कि हम उस Event को Response करने के लिए कोई Event Handler Create करते हैं या नहीं।
यहां मुख्य रूप से ध्यान देने वाली बात ये है कि क्योंकि HTTP एक पूरी तरह से Stateless Protocol है। जिस पर पूरा Web Application आधारित होता है और ASP.NET द्वारा प्राप्त होने वाली सारी State Information फिर से Recreate होती हैं, इसलिए Web Application Developmentके लिए ASP.NET का Event Driven Model, Desktop Application के लिए Develop किए गए Event Driven Model का केवल एक Emulation मात्र ही है।
जबकि ASP.NET Framework,Web Application Development हेतु इस Event Driven Model का Emulation Create करने के लिए Background में कई जरूरी काम करता रहता है, जिनके विषय में हम आगे आने वाले Sections में जानेंगे।
हालांकि Web Application Development के लिए ASP.NET Framework द्वारा Create किए जाने वाले इस Event Driven Model के Emulation के कारण एक Programmer को Framework की Underlying Working के बारे में ज्यादा Detail से समझने की जरूरत नहीं होती, बल्कि वह केवल Server Side Events को Web Application Developकरने के लिए भी ठीक उसी तरह से Use करता रहता है, जिस तरह से उन्हें Windows Based Desktop Application Develop करने के लिए Use करता था। (Event Model of ASP.NET WebForms in Hindi)
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Core ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Core ASP.NET WebForms in Hindi | Page:647 | Format: PDF