How to Deploy ASP Net Web Application

How to Deploy ASP Net Web Application – किसी ASP.NET Web Application को हमेंशा किसी IIS Web Server युक्त Computer System पर ही Install किया जाता है। किसी Web Application को Install करने का मतलब Files व Configuration को Development Server से Staging Server पर और फिर Production Environment में Move करना होता है, ताकि End User उस Application को Internet या Intranet के माध्‍यम से Access कर सके।

सामान्‍यत: किसी Web Application के Deployment में कई Steps Involved होते हैं, जो कि Settings व Data को एक Machine से दूसरी Machine पर Move करने के लिए जरूरी होते हैं, ताकि इस Deployment के बाद भी Web Application Normal तरीके से काम करे। इस Process को हम Manually भी Follow कर सकते हैं, लेकिन ये Process यदि Automatically Follow हो, तो Administrator के लिए काफी सुविधा हो जाती है। क्योंकि Automation हमेंशा हमारे Deployment Task को काफी आसान व Error Free बना देता है।

जबकि अपने Web Application को किसी Enterprise Server के स्थान पर किसी Hosted Server पर Install करने की स्थिति में तो Automatic Deployment बहुत ही जरूरी हो जाता है, क्योंकि ऐसे Hosted Server पर सामान्‍यत: एक Administrator के रूप में हमारा कोई ज्यादा Control नहीं होता।

Web Development के शुरूआती समय में Deployment कोई विशेष काम नहीं होता था और कोई भी Web Developer अपने Web Application को बडी ही आसानी से Development से Production Server पर Move कर देता था। लेकिन वर्तमान समय के Web Applications काफी Complex होते हैं और कई प्रकार के Tools से मिलकर बने होते हैं, इसलिए वर्तमान समय के Web Applications को उपयुक्त तरीके से Deploy करने का मतलब होता है कई Tools जैसे कि Web Server, Mail Server, File Server, Database Server आदि का एक साथ एक ही समय पर Parallel तरीके से Normally काम करना।

इसीलिए Web Deployment, Web Developer के लिए वर्तमान समय में एक Job के समान है और इसीलिए Microsoft द्वारा Visual Studio IDE के Development Environment में कई Tools को Integrate किया गया है, जो कि किसी Web Application के Proper Deployment के लिए जरूरी सभी सुविधाऐं Provide करता है।

सभी Web Applications समान प्रकार के नहीं होते। इसलिए अलग-अलग तरह के Web Applications के Deployment के लिए हमें अलग-अलग तरीकों व Tools को Use करना होता है। जब हम Visual Studio का प्रयोग करते हुए अपना Web Application Develop करते हैं, तब हम मूलत: Web Site व Web Project के रूप में दो अलग प्रकार के Web Applications Create कर सकते हैं।

इन दोनों ही प्रकार के Web Applications के Deployment में मूल अन्तर इनके Source Code का होता है। जहां एक Web Site Application के Deployment में हमें Markup व Source Code Files को IIS Server पर Upload करना होता है, जबकि Web Project Application के Deployment के रूप में हमें Markup व Compiled Code Files को Upload करना होता है।

इन दोनों ही प्रकार के Web Applications के Deployment से सम्बंधित कई फायदे व नुकसान हैं। जब हम Source Code को Web Server पर Upload करते हैं, तब हम अपने Web Application में छोटे-मोटे Modifications या Quick Fixes करने के लिए FTP का प्रयोग करते हुए Directly Source-Code Files को Access व Manipulate कर सकते हैं। जबकि यदि हम हमारे Source Codes को ज्यादा Secure रखना चाहते हैं, तो उस स्थिति में हमें Web Project प्रकार का Application Deploy करना होता है, जहां सभी Source-Codes Compiled Form में होते हैं।

Web Site Applications – XCopy Deployment

सबसे सरल स्थिति में किसी ASP.NET Application को Install करने के लिए हम इस तकनीक को Use करते हैं, जिसके अन्तर्गत पूरे Web Application की सभी Files (Assemblies, Scripts, Pages, Stylesheets, Images, etc…) को Web Server के Target Folder में Copy कर देते हैं। इस Process को सामान्‍यत: XCopy के नाम से जाना जाता है, जो कि DOS Mode के XCOPY Command की तरह ही काम करता है।

जब हम XCopy Use करते हुए अपने Web Application का Deployment करते हैं, तो उस स्थिति में हमें हमारे IIS Server पर किसी प्रकार का Configuration Setting करने की जरूरत नहीं होती है।

Copy Web Site … – The Visual Studio IDE Option

जब हम Visual Studio का प्रयोग करते हुए अपना Website Application Create करते हैं, तब अपनी Website को Web Server पर Upload करने के लिए हम इस Tool को Use कर सकते हैं, जिसे Activate करने के लिए हमें Visual Studio IDE में WEBSITE => Copy Web Site… Option को Click करना होता है। जैसे ही हम इस Option को Click करते हैं, हमारे सामने निम्न चित्रानुसार एक Window Open होता है:

How to Deploy ASP Net Web Application - Hindi

जैसाकि उपरोक्त चित्र द्वारा समझ सकते हैं कि Visual Studio हमारे सामने दो ListBoxes Display करता है, जहां Left Side में हमारे Web Site Project की सभी Source Files होती हैं, जबकि Right Side का List Box हमारे Web Server के उस Folder को Represent करता है, जिस पर हमें हमारे Web Site Project को Deploy करना है।

Visual Studio IDE द्वारा Provide किया जाने वाला ये Tool उस स्थिति में काफी उपयोगी होता है, जबकि Web Server का File Structure Exactly वैसा ही हो, जैसाकि हमारे Development Server का होता है।

इस प्रकार का Deployment करने पर Visual Studio हमारे Website Project को Compile नहीं करता, बल्कि Source Codes को ही Remote Server पर Upload कर देता है। जिसकी वजह से जब User उस Web Site Project के किसी Webpage के लिए पहली बार Request करता है, तो उस Request को Fulfill करने से पहले उस Webpage को ASP.NET Runtime द्वारा Compile किया जाता है और क्योंकि इस Deployment में हमारे Project का Compilation तब होता है, जब User उस Page के लिए पहली बार Request करता है, इसलिए यदि User द्वारा Requested Webpage में किसी प्रकार का कोई Validation Error हो, तो उस Error का पता भी तभी चलता है।

Visual Studio हमें “Copy Web Site…” Option केवल तभी Provide करता है, जबकि हमारा Web Application एक Web Site प्रकार का Web Application हो। यदि हमारा Web Application एक Web Project हो, तो उस स्थिति में Visual Studio हमें ये Tool Provide नहीं करता, क्योंकि उस स्थिति में Web Server पर Compiled Files को Upload किया जाना होता है, Source Files को नहीं।

Building Setup Project

पिछले Section में Discuss किया गया Visual Studio का “Copy Web Site…” Tool हमें Source Directory को IIS Server की Target Directory के साथ पूरी तरह से Sync रखने की सुविधा Provide करता है।

हालांकि हम Visual Studio के इस Option को Use करते हुए अपनी Web Site को IIS Server पर Deploy कर सकते हैं, लेकिन यदि हम चाहें, तो यही काम Manually भी कर सकते हैं अथवा एक MSI Installer Application Create करते हुए भी Deployment किया जा सकता है।

प्रत्येक Deployment तरीके के अपने फायदे व नुकसान हैं और कौनसा Deployment तरीका सबसे उपयुक्त है, ये बात अनुभव से ही समझ में आती है। साथ ही जब हम हमारे Web Application को किसी Shared Hosting पर Host करना चाहते हैं, तब हमें उस Hosting Provider द्वारा Specify किए गए Rules को ध्‍यान में रखते हुए Deployment करना होता है, जो कि अलग-अलग Hosting Providers के लिए अलग-अलग हो सकते हैं।

जब हम Installer Setup का प्रयोग करते हुए अपने Web Application को Deploy करना चाहते हैं, तब हमें एक Installer File Create करनी होती है। Installer File Create करते हुए Deployment करने के अन्तर्गत हमेंशा Two-Step Operation Perform करना होता है। पहले Step के अन्तर्गत हमें एक Virtual Directory को Create करके Configure करना होता है और फिर दूसरे Step के रूप में उसमें अपने Web Application की सभी जरूरी Files को Copy करना होता है।

Visual Studio,Web Setup Application Create करने की प्रक्रिया को काफी हद तक आसान कर देता है, जिसके अन्तर्गत हम एक एक प्रकार का Project Create करते हैं, जिसे Web Setup Project कहते हैं। फिर इस Project में अपने Web Project की Files कोCopy करते हैं और अन्त में इस Project को Build करते हैं।

सामान्‍यत: जब हम Installer Create करना चाहते हैं, तो सबसे पहले Visual Studio IDE में अपने उस Project को Load करते हैं, जिसका Installer Create करना है। फिर FILE => New Project… Dialog Box के “Other Project Types” Template से “Setup and Deployment” Option को Select करना होता है तथा Solutions Combobox में “Add to solution” Option को Select करना होता है, जैसाकि निम्न चित्र में दिखाई दे रहा है, ताकि हमारा Newly Create होने वाला Setup Current Project के लिए Current Solution में ही Create हो-

How to Deploy ASP Net Web Application - Hindi

जब हम उपरोक्तानुसार तरीके से Setup Project Create करते हैं, तब हमारा Web Setup Project, Current Web Project के Solution में ही Add हो जाता है। इस तरीके को Use करने की वजह से Visual Studio द्वारा Project Output को Automatically  की Bin Directory में Copy करने का Instruction दिया जाता है और फिर Current Project की सभी Files को Web Application Folder की Root Directory में Copy कर दिया जाता है।

हम जो Web Application Folder Create करते हैं, वह वास्तव में हमारे एक Application की Virtual Directory होती है, जिसे Target Machine पर Upload किया जाना होता है। इस Virtual Directory की Settings को Configure करने के लिए हम Visual Studio के Properties Dialog Box को Use कर सकते हैं।

उदाहरण के लिए AllowDirectoryBrowsing Property हमें हमारे द्वारा Create किए गए IIS Virtual Folder पर Browsing Permission Assign करने की सुविधा देता है। इसके अलावा हम हमारे Properties Window से अपनी Virtual Directory के Name, Application Execute Permissions, Level of Isolation व Default Page को भी Select कर सकते हैं।

हालांकि जब हम Visual Studio का प्रयोग करते हुए अपने Web Project को Compile करते हैं, तो Bin Folder Automatically Create होता है। लेकिन हम Setup Process के दौरान जितने चाहें उतने Folders व Subfolders Create कर सकते हैं।

जब हम हमारे Project को Build करते हैं, तब हमें .MSI Extension वाली एक Windows Installer File प्राप्त होती है जिसमें हमारे Web Application का वह Setup होता है, जिसे हमें हमारे Client को Deploy करना होता है। उपरोक्त Process को Follow करते हुए जो Default Installer Create होता है, वह हमारे Web Application के Installing के साथ ही Repairing व Uninstallingको भी Support करता है।

इस तरीके से हमें जो Setup प्राप्त होता है, इसमें हमारे Web Application द्वारा Supported वह Microsoft .NET Framework Included नहीं होता, जिस पर हमारा Web Application आधारित होता है। इस .NET Framework का Target Computer System पर Installed होना जरूरी होता है। इसलिए हमें इस Framework को अपने Setup के साथ Manually Include करना पडता है, जिसे Install करने के बाद ही हम हमारे Web Application के Installer को Use करते हुए अपने Web Application को Install कर सकते हैं।

Buy this eBook to read more about …

  • Packaging Files and Settings
  • Web Deployment Tool
  • Building WDT Package
  • Web.config Transformations

Core ASP.NET WebForms in Hindi - BccFalna.com: TechTalks in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Core ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Core ASP.NET WebForms in Hindi | Page:647 | Format: PDF

BUY NOW GET DEMO REVIEWS