How ASP.NET MVC Works: ASP.NET MVC, ASP.NET आधारित Web Applications Create करने के लिए Microsoft द्वारा Design किया गया एक पूरी तरह से नया Framework है, जो कि पूरी तरह से SoC (Separation of Concerns) व Testability को ध्यान में रखते हुए Develop किया गया है। इसका प्रयोग करते हुए Web Development करते समय हम Web के Stateless Behavior के अन्तर्गत ही Development करते हैं, जहां हमें Statefulness जैसी जरूरत को अन्य तरीकों जैसे कि Sessions व Cookies द्वारा Fulfill करना होता है।
इसीलिए इस Model को Use करते समय हम विभिन्न Core Technologies जैसे कि HTML, CSS, JavaScript आदि Webpage के प्रत्येक हिस्से को पूर्ण Control के साथ Access व Manipulate कर सकते हैं, जो कि WebForms के अन्तर्गत Statefulness जैसा Simulation प्राप्त करने के लिए Microsoft द्वारा Hide कर दिया गया था।
अन्य शब्दों में कहें, तो यदि हम ASP.NET WebForms तकनीक का प्रयोग करते हुए Web Development करते हैं, तो हमें इन Core Technologies को ठीक से समझने की जरूरत नहीं होती। लेकिन जब हम ASP.NET MVC तकनीक Use करते हुए अपना Web Development करते हैं, तब हमें इन Core Technologies का पर्याप्त व उपयुक्त ज्ञान होना जरूरी होता है।
इस Model में Incoming Requests को Process करना व Response के रूप में Web Browser के लिए Appropriate HTML Markup Generate करना, दोनों के लिए दो बिल्कुल अलग Steps Follow करने होते हैं, जिन्हें Controller व View के नाम से जाना जाता है।
Web Application का Controller Part आने वाली Incoming Request को Accept करता है और इस बात का निर्णय लेता है कि उसे क्या Action Perform करना है। Action Perform करने के बाद जो Raw Response Generate होता है, उस Raw Response Data को ये Controller, Application के View नाम के Part को Send करता है।
View Engine, Controller से आने वाले Raw Response Data को Receive करता है और Web Browser में Output के रूप में Finally जो Markup Render होना होता है, उसे Web Browser की Output Stream में Write कर देता है। यानी इस Model में Web Application का Controller Part, Web Application के Processing से सम्बंधित कामों को Handle करता है, जबकि View Part उस Processing से Generate होने वाले Response Data को Web Browser में Present करने के लिए तैयार करता है। जबकि इस View Part द्वारा Return होने वाले Response की Formatting करने का काम CSS द्वारा तथा Webpage के अन्तर्गत Behavior व Interactions Manage करने का काम JavaScript द्वारा अलग से किया जाता है।
यानी एक ASP.NET MVC Model पर आधारित Web Application का कोई भी Individual Webpage किसी भी Physical ASPX Server File पर Depend नहीं होता। हालांकि ASPX File इस Model में भी हमारे Web Project का एक Part होता है, लेकिन ये ASPX File केवल हमारे Web Application के Plain HTML Template Part को ही Represent करता है, जिसे इस Model का View Engine Part, Web Browser में Send किए जाने वाले Response HTML को Create करने के लिए एक Template की तरह Use करता है। यानी इस Model में कोई Code-Behind File नहीं होती।
जब हम ASP.NET के MVC Model को Use करते हुए अपना Web Application Create कर रहे होते हैं, तब हमें हमारे Web Application को UI या Code-Behind File के Around नहीं बल्कि Controllers व Actions के Around सोंचना व Develop करना होता है। इस Model में जितनी भी HTTP Requests Perform की जाती हैं, उन्हें एक Controller व Action Pair के रूप में Map करना होता है।
जब भी कोई Action Execute होता है, तो उस Action के Execution से Data Produce होता है। इस Raw Data व एक Template File को View Engine प्राप्त करता है तथा Template File में Appropriate Locations पर Raw Data को Place करके Final Markup, JSON, JavaScript, etc… Produce करता है, जिसे Rendering/Usingके लिए Response के रूप में Web Browser पर Return कर दिया जाता है।
एक ASP.NET MVC Request की Processing से सम्बंधित विभिन्न Steps के Sequences को निम्न चित्रानुसार Represent किया जा सकता है:
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Core ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Core ASP.NET WebForms in Hindi | Page:647 | Format: PDF