दिलचस्प पोस्ट
कैसे PHP के लिए env चर सेट करने के लिए? सीन का उपयोग करके उपयोगकर्ता से पूरी लाइन कैसे पढ़ें? एल्गोरिथ्म सभी संभव स्ट्रिंग संयोजनों को सरणी से निश्चित लंबाई तक प्राप्त करने के लिए पर्ल में मानक इनपुट से मेरी स्ट्रिंग का मिलान क्यों नहीं किया जा सकता? स्वतः पूर्ण होने वाले चयनित आइटम का मूल्य कैसे प्राप्त करें आम गेटवे इंटरफ़ेस (सीजीआई) क्या है? कोणीय 2 ड्रॉपडाउन विकल्प डिफ़ॉल्ट मूल्य ऑफ़लाइन होने पर OKHttp के साथ रेट्रोफ़िट कैश डेटा का उपयोग कर सकते हैं सेलेनियम वेबड्राइवर का उपयोग करके विंडोज़ फाइल अपलोड कैसे करें? वेबपैक बैबेल 6 ES6 सजावटी डेल्फी आवेदन के लिए प्लगइन्स सिस्टम – बीपीएल बनाम डीएलएल? पता लगाएँ कि क्या एक प्रतिबिंब का उपयोग करके एक विधि ओवरराइड हुई थी (सी #) स्वयं कार्यान्वित समारोह jquery बनाम जावास्क्रिप्ट अंतर python 3.2 यूनिकोडएएनकोड त्रुटि: 'charmap' कोडेक स्थिति 9629 में चरित्र '\ u2013' एन्कोड नहीं कर सकता है: वर्ण मानचित्रों को <undefined> जावास्क्रिप्ट में एक सरणी से मैं एक विशेष तत्व कैसे निकालूं?

Asp.net वेब साइट या asp.net वेब अनुप्रयोग?

जब मैं विजुअल स्टूडियो में एक नया एएसपी.नेट प्रोजेक्ट शुरू करता हूं, तो मैं एक asp.net वेब अनुप्रयोग बना सकता हूं या मैं एक asp.net वेब साइट बना सकता हूँ।

एएसपी.नेट वेब अनुप्रयोग और एएसपी.नेट वेब साइट के बीच अंतर क्या है? मैं एक दूसरे से क्यों चुनूं?

क्या मैं जिस दृश्य स्टूडियो का उपयोग कर रहा हूं उस पर आधारित अलग-अलग जवाब है?

Solutions Collecting From Web of "Asp.net वेब साइट या asp.net वेब अनुप्रयोग?"

वेबसाइट:

वेब साइट परियोजना मक्खी पर संकलित किया गया है। आप बहुत अधिक DLL फ़ाइलों के साथ समाप्त होते हैं, जो एक दर्द हो सकता है। यह आपके पास एक डायरेक्टरी में पृष्ठों या नियंत्रणों को भी देता है जब अन्य निर्देशिका में पृष्ठों को संदर्भित करने और नियंत्रित करने की आवश्यकता होती है क्योंकि अन्य निर्देशिका को अभी तक कोड में संकलित नहीं किया जा सकता है। एक अन्य समस्या प्रकाशन में हो सकती है

यदि विज़ुअल स्टूडियो को लगातार समान नामों का पुन: उपयोग करने के लिए नहीं कहा जाता है, तो यह सभी समय से पृष्ठों द्वारा जनरेट किए गए DLL फ़ाइलों के लिए नए नामों के साथ आएगा। इससे एक ही कक्षा नाम वाली कई करीबी प्रतिलिपि हो सकती है, जिससे बहुत सारी त्रुटियां उत्पन्न हो सकती हैं। वेब साइट प्रोजेक्ट को विज़ुअल स्टूडियो 2005 के साथ पेश किया गया था, लेकिन यह बेहद लोकप्रिय नहीं हो पाया है।

वेब एप्लीकेशन:

वेब एप्लिकेशन प्रोजेक्ट को ऐड-इन के रूप में बनाया गया था और अब दृश्य स्टूडियो 2005 के लिए सपा 1 के भाग के रूप में मौजूद है। मुख्य अंतर वेब अनुप्रयोग प्रोजेक्ट को विज़ुअल स्टूडियो 2003 के साथ भेजे गए वेब प्रोजेक्ट्स के समान काम करने के लिए बनाया गया था। बिल्ड समय पर एक एकल DLL फ़ाइल में एप्लिकेशन को संकलित करें। प्रोजेक्ट को अपडेट करने के लिए इसे पुनः कंपाइल किया जाना चाहिए और डीएलएल फाइल को होने वाले परिवर्तनों के लिए प्रकाशित किया गया है।

वेब एप्लिकेशन प्रोजेक्ट की एक और अच्छी सुविधा यह है कि परियोजना दृश्य से फाइल को बाहर करने के लिए बहुत आसान है। वेब साइट प्रोजेक्ट में, प्रत्येक फ़ाइल जिसे आप बहिष्कृत करते हैं उसे फ़ाइल नाम में एक बहिष्कृत कीवर्ड के नाम से बदल दिया गया है। वेब एप्लीकेशन प्रोजेक्ट में, परियोजना केवल उस चीज़ का ट्रैक रखता है, जिसमें फ़ाइलों को शामिल किए जाने / निकाले जाने के बिना प्रोजेक्ट व्यू से उनका नाम बदलकर, बहुत अधिक चीजें

संदर्भ

लेख एएसपी.नेट 2.0 – वेब साइट बनाम वेब एप्लिकेशन प्रोजेक्ट भी कारणों का कारण बताता है कि एक का उपयोग क्यों नहीं किया और दूसरा नहीं। यहां इसका एक अंश है:

  • आपको बड़े दृश्य स्टूडियो .NET 2003 अनुप्रयोगों को वीएस 2005 में स्थानांतरित करने की आवश्यकता है? वेब अनुप्रयोग प्रोजेक्ट का उपयोग करें
  • क्या आप किसी प्रोजेक्ट फ़ाइल को बिना एक वेब प्रोजेक्ट के रूप में किसी निर्देशिका को खोलना और संपादित करना चाहते हैं? वेब साइट परियोजना का उपयोग करें
  • संकलन के दौरान आपको पूर्व-बिल्ड और पोस्ट-बिल्ड चरणों को जोड़ने की आवश्यकता है? वेब अनुप्रयोग प्रोजेक्ट का उपयोग करें
  • आपको एकाधिक वेब प्रोजेक्ट्स का उपयोग करने के लिए एक वेब अनुप्रयोग बनाने की आवश्यकता है? वेब अनुप्रयोग प्रोजेक्ट का उपयोग करें
  • आप प्रत्येक पृष्ठ के लिए एक विधानसभा बनाना चाहते हैं? वेब साइट परियोजना का उपयोग करें
  • क्या आपको प्रत्येक पृष्ठ के दृश्य पर संपूर्ण साइट का निर्माण किए बिना डायनामिक संकलन और पृष्ठों पर कार्य करना पसंद है? वेब साइट परियोजना का उपयोग करें
  • आप कोड-पीछे मॉडल के लिए एक-पृष्ठ कोड मॉडल पसंद करते हैं? वेब साइट परियोजना का उपयोग करें

वेब अनुप्रयोग प्रोजेक्ट्स बनाम वेब साइट प्रोजेक्ट्स (एमएसडीएन) वेब साइट और वेब एप्लिकेशन प्रोजेक्ट्स के बीच अंतर बताते हैं। साथ ही, यह दृश्य स्टूडियो में किए जाने वाले विन्यास की चर्चा करता है।

वेब साइट है जो आप आईएसएएस जैसे एएसपी.नेट वेब सर्वर पर तैनात करते हैं। बस फ़ाइलों और फ़ोल्डरों का एक गुच्छा। वेब साइट में कुछ भी नहीं है जो आपको विज़ुअल स्टूडियो (कोई प्रोजेक्ट फाइल नहीं है) के साथ संबंध करता है कोड-पीढ़ी और वेब पेजों का संकलन (जैसे .aspx, .ascx, .master) रनटाइम पर गतिशील रूप से किया जाता है , और इन फ़ाइलों में परिवर्तनों को ढांचे द्वारा पता लगाया जाता है और स्वचालित रूप से पुन: संकलित किया जाता है आप कोड डाल सकते हैं जिसे आप विशेष ऐपसीडीओ फ़ोल्डर में पृष्ठों के बीच साझा करना चाहते हैं, या आप इसे पहले से संकलित कर सकते हैं और बिन फ़ोल्डर में असेंबली डाल सकते हैं।

वेब अनुप्रयोग एक विशेष दृश्य स्टूडियो परियोजना है वेब साइट्स के साथ मुख्य अंतर यह है कि जब आप प्रोजेक्ट बनाते हैं, तो सभी कोड फ़ाइलों को एक एकल असेंबली में संकलित किया जाता है, जिसे बिन निर्देशिका में रखा जाता है। आप वेब सर्वर पर कोड फाइलों को लागू नहीं करते हैं साझा किए गए कोड फ़ाइलों के लिए एक विशेष फ़ोल्डर बनाने के बजाय आप उन्हें कहीं भी रख सकते हैं, जैसे आप कक्षा लाइब्रेरी में करेंगे क्योंकि वेब अनुप्रयोग में ऐसी फ़ाइलें हैं जो तैनात किए जाने वाले नहीं हैं, जैसे कि प्रोजेक्ट और कोड फ़ाइलें, एक विशिष्ट स्थान पर एक वेब साइट को आउटपुट करने के लिए विजुअल स्टूडियो में एक प्रकाशित आदेश है।

App_Code बनाम बिन

साझा की गई कोड फ़ाइलों को नियोजित करना आम तौर पर एक बुरा विचार है, लेकिन इसका अर्थ यह नहीं है कि आपको वेब अनुप्रयोग चुनना होगा। आपके पास एक वेब साइट हो सकती है जो क्लास लायब्रेरी प्रोजेक्ट का संदर्भ देता है जो वेब साइट के लिए सभी कोड रखता है। वेब एप्लीकेशन यह करने का एक सुविधाजनक तरीका है।

कोड के पीछे

यह विषय .aspx और .ascx फ़ाइलों के लिए विशिष्ट है। यह विषय नए एप्लिकेशन फ़्रेमवर्क जैसे एएसपी.नेट एमवीसी और एएसपी.नेट वेब पेजों में कम-से-कम प्रासंगिक है, जो कोडबीहिंड फाइलों का इस्तेमाल नहीं करते हैं।

सभी कोड फ़ाइलों को एक एकल असेंबली में संकलित करके, .aspx पृष्ठों और .ascx नियंत्रणों के codebehind फ़ाइलें, वेब अनुप्रयोगों में आपको हर थोड़ा बदलाव के लिए पुन: निर्माण करना होगा, और आप लाइव परिवर्तन नहीं कर सकते यह विकास के दौरान एक वास्तविक दर्द हो सकता है, क्योंकि परिवर्तनों को देखने के लिए आपको पुन: निर्माण करना पड़ता है, जबकि वेब साइट परिवर्तनों के साथ रनटाइम में पता चलता है और पृष्ठों / नियंत्रणों को स्वचालित रूप से पुनः कंपाइल किया जाता है।

रनटाइम होने से कोडबेहिंड असेंबलियों का प्रबंधन आपके लिए कम काम है, क्योंकि आपको पृष्ठों को देने / अनन्य नामों को नियंत्रित करने, या उन्हें अलग नामों में व्यवस्थित करने की चिंता करने की ज़रूरत नहीं है।

मैं नहीं कह रहा हूं कि कोड फाइलों को तैनात करना हमेशा एक अच्छा विचार है (विशेष रूप से साझा की गई कोड फ़ाइलों के मामले में नहीं), लेकिन कोडबीफिंक फ़ाइलों में केवल ऐसे कोड शामिल होने चाहिए जो UI विशिष्ट कार्य, वायर-अप इवेंट हैंडलर आदि। आपका एप्लिकेशन होना चाहिए स्तरित ताकि महत्वपूर्ण कोड हमेशा बिन फ़ोल्डर में समाप्त हो जाए अगर ऐसा मामला है तो कोडबेहिन्द फाइलों को तैनात करना हानिकारक नहीं माना जाना चाहिए।

वेब अनुप्रयोगों की एक और सीमा यह है कि आप केवल परियोजना की भाषा का उपयोग कर सकते हैं। वेब साइट्स में आप कुछ पृष्ठों को सी # में बना सकते हैं, कुछ वीबी में, आदि। विशेष विज़ुअल स्टूडियो समर्थन की आवश्यकता नहीं है। यह बिल्ड प्रदाता विस्तार की खूबसूरती है

इसके अलावा, वेब अनुप्रयोगों में आपको पेज / नियंत्रण में त्रुटि का पता नहीं मिलता है क्योंकि कंपाइलर केवल आपके कोडबीहिंड क्लासेस को संकलित करता है और मार्कअप कोड नहीं (एमवीसी में आप इसे एमवीसीबिइल्ड वीव्स विकल्प का उपयोग करके ठीक कर सकते हैं), जो रनटाइम पर संकलित होता है

दृश्य स्टूडियो

क्योंकि वेब अनुप्रयोग विज़ुअल स्टूडियो प्रोजेक्ट्स हैं, क्योंकि आपको ऐसी कुछ सुविधाएं मिलती हैं, जो वेब साइट्स में उपलब्ध नहीं हैं। उदाहरण के लिए, आप विभिन्न कार्यों को करने के लिए बिल्ड इवेंट्स का उपयोग कर सकते हैं, जैसे कि जावास्क्रिप्ट फ़ाइलों को छोटा करना और / या गठबंधन करना।

दृश्य स्टूडियो 2010 में एक और अच्छी सुविधा पेश की गई है Web.config रूपांतरण यह वेब साइट्स में भी उपलब्ध नहीं है अब वीएस 2013 में वेब साइट्स के साथ काम करता है

किसी वेब साइट का निर्माण करना, एक वेब साइट बनाना विशेष रूप से बड़ी साइटों के लिए अधिक है यह मुख्यतः है क्योंकि वेब अनुप्रयोग मार्कअप कोड को संकलित नहीं करते हैं। MVC में यदि आप MvcBuildView को सही पर सेट करते हैं तो यह मार्कअप कोड को संकलित करता है और आपको त्रुटि पता लग जाता है, जो बहुत उपयोगी है। नीचे की ओर यह है कि हर बार जब आप समाधान तैयार करते हैं तो यह पूरी साइट बनाता है, जो धीमा और अक्षम हो सकता है, खासकर यदि आप साइट को संपादित नहीं कर रहे हैं मैं खुद को MvcBuildViews चालू और बंद कर रहा हूं (जिसके लिए एक परियोजना अनलोड की आवश्यकता है)। दूसरी तरफ, वेब साइट्स के साथ आप चुन सकते हैं कि क्या आप साइट के समाधान के भाग के रूप में बनाना चाहते हैं या नहीं यदि आप नहीं चुनते हैं, तो समाधान का निर्माण बहुत तेज है, और आप वेब साइट नोड पर हमेशा क्लिक कर सकते हैं और बिल्ड चुन सकते हैं, अगर आपने परिवर्तन किए हैं।

एक एमवीसी वेब अनुप्रयोग प्रोजेक्ट में आपके पास सामान्य कार्यों के लिए अतिरिक्त कमांड और डायलॉग हैं, जैसे 'ऐड व्यू', 'गॉ ऑन व्यू', 'कंट्रोलर जोड़ें' आदि। ये किसी एमवीसी वेब साइट में उपलब्ध नहीं हैं।

यदि आप IIS एक्सप्रेस को विकास सर्वर के रूप में उपयोग करते हैं, तो वेब साइट्स में आप आभासी निर्देशिका जोड़ सकते हैं। यह विकल्प वेब अनुप्रयोगों में उपलब्ध नहीं है।

NuGet पैकेज पुनर्स्थापना वेब साइट पर काम नहीं करता, आपको मैन्युअल रूप से packages.config पर सूचीबद्ध संकुल को स्थापित करना होगा पैकेज पुनर्स्थापना अब वेब साइट्स के साथ काम करता है जो NuGet 2.7 शुरू करता है

वेब साइट = उपयोग करें जब वेबसाइट ग्राफिक डिजाइनर द्वारा बनाई गई है और प्रोग्रामर केवल एक या दो पृष्ठों को संपादित करते हैं

वेब अनुप्रयोग = जब प्रोग्राम प्रोग्रामर द्वारा बनाया जाता है और ग्राफिक डिजाइनर केवल एक या दो पेज / छवियों को संपादित करते हैं तो इसका उपयोग करें।

डेवलपर स्टूडियो के बिना किसी भी एचटीएमएल उपकरण का उपयोग करने पर वेब साइट्स काम कर सकते हैं, क्योंकि परियोजना फ़ाइलों को अपडेट करने की आवश्यकता नहीं है, आदि। वेब अनुप्रयोग सबसे अच्छे होते हैं जब टीम ज्यादातर डेवलपर स्टूडियो का उपयोग करती है और एक उच्च कोड सामग्री है

(कुछ कोडिंग त्रुटियों को वेब अनुप्रयोगों में समय के संकलन में पाया जाता है जो वेब साइट्स में चलने के समय तक नहीं मिलते हैं।)

चेतावनी: मैंने कई साल पहले इस उत्तर को लिखा था और जब से asp.net का इस्तेमाल नहीं किया है मुझे उम्मीद है कि चीजें अब आगे बढ़ गई हैं।

जब तक आप गतिशील रूप से संकलित प्रोजेक्ट के लिए एक विशिष्ट आवश्यकता नहीं है , तब तक किसी वेब साइट प्रोजेक्ट का उपयोग न करें

क्यूं कर? क्योंकि आपकी साइट को बदलने या समझने की कोशिश करते समय वेब साइट प्रोजेक्ट आपको दीवार तक पहुंचाएगा। विज़ुअल स्टूडियो में स्थिर टाइपिंग फीचर्स (उदाहरण के उपयोग, रिफैक्टर को ढूंढने के लिए) सभी किसी भी उचित आकार के प्रोजेक्ट के लिए हमेशा ले लेंगे। अधिक जानकारी के लिए, स्टैक अतिप्रवाह प्रश्न देखें, दृश्य स्टूडियो में "सभी संदर्भ खोजें" धीमे

मुझे सच में नहीं पता है कि वे दर्द-उत्प्रेरण, विवेक-निवारण, उत्पादकता कार्बूनल वेब साइट प्रोजेक्ट प्रकार के लिए विज़ुअल स्टूडियो 2005 में वेब अनुप्रयोगों को क्यों हटा दिए।

एमएसडीएन में एक लेख है जो अंतर का वर्णन करता है:

वेब साइट प्रोजेक्ट्स और वेब एप्लीकेशन प्रोजेक्ट्स की तुलना करना

बीटीडब्ल्यू: उस विषय के बारे में कुछ समान प्रश्न हैं, जैसे:

  • वेब साइट बनाम एएसपी.नेट वेब अनुप्रयोग विज़ुअल स्टूडियो में नोट: हटा दिया गया था, अब एसओ पर नहीं
  • वेबसाइट या वेबपुलकेशन in.ASP.NET

यह थोड़ा स्पष्ट लग सकता है, लेकिन मुझे लगता है कि ऐसा कुछ गलत समझा गया है क्योंकि विज़ुअल स्टूडियो 2005 मूल रूप से वेब साइट के साथ भेज दिया गया है यदि आपकी परियोजना ऐसी वेबसाइट से संबंधित है जो काफी सीमित है और इसमें बहुत अधिक तार्किक या भौतिक जुदाई नहीं है, तो वेबसाइट ठीक है। हालांकि यदि यह वास्तव में विभिन्न मॉड्यूल के साथ एक वेब अनुप्रयोग है जहां कई उपयोगकर्ता डेटा जोड़ते और अपडेट करते हैं, तो आप वेब एप्लिकेशन से बेहतर हैं।

वेबसाइट मॉडल का सबसे बड़ा app_code यह है कि app_code अनुभाग में कुछ भी गतिशील संकलित है। आप पूर्ण पुनर्भरण के बिना सी # फ़ाइल अपडेट कर सकते हैं। हालांकि यह एक महान बलिदान पर आता है बहुत सारी चीजें कवर के तहत होती हैं जो नियंत्रित करने में मुश्किल होती हैं नेमस्पेस को नियंत्रित करने में मुश्किल होती है और विशिष्ट डीएलएल उपयोग app_code तहत किसी भी चीज़ के लिए डिफ़ॉल्ट रूप से खिड़की से बाहर app_code क्योंकि हर चीज गतिशील रूप से संकलित होती है।

वेब अनुप्रयोग मॉडल में गतिशील संकलन नहीं है, लेकिन आप उन चीजों पर नियंत्रण हासिल करते हैं जिन्हें मैंने उल्लेख किया है।

यदि आप एन-स्तरीय विकास कर रहे हैं, तो मैं अत्यधिक वेब अनुप्रयोग मॉडल की सिफारिश करता हूं। यदि आप एक सीमित वेब साइट या एक त्वरित और गंदे कार्यान्वयन कर रहे हैं, तो वेब साइट मॉडल के फायदे हो सकते हैं

अधिक विस्तृत विश्लेषण में पाया जा सकता है:

  • वेब अनुप्रयोग प्रोजेक्ट्स और वेब परिनियोजन परियोजनाएं यहां हैं
  • वेब साइट या वेब अनुप्रयोग?

एमसीटीएस से स्वयं पुस्तक प्रशिक्षण किट परीक्षा 70-515 पुस्तक से:

वेब एप्लिकेशन (प्रोजेक्ट) के साथ,

  1. आप एक एमवीसी अनुप्रयोग बना सकते हैं।
  2. दृश्य स्टूडियो फ़ोल्डर संरचना पर निर्भर होने के बजाय, किसी प्रोजेक्ट फ़ाइल (.csproj या .vbproj) में फ़ाइलों की सूची संग्रहीत करता है।
  3. आप Visual Basic और C # को मिश्रित नहीं कर सकते
  4. आप कोई डीबगिंग सत्र रोक दिए बिना कोड को संपादित नहीं कर सकते
  5. आप कई वेब परियोजनाओं के बीच निर्भरता स्थापित कर सकते हैं
  6. आपको तैनाती से पहले अनुप्रयोग को संकलित करना होगा, जो आपको एक पृष्ठ का परीक्षण करने से रोकता है अगर दूसरा पृष्ठ संकलन नहीं करेगा।
  7. आपको सर्वर पर स्रोत कोड को संग्रहीत करने की आवश्यकता नहीं है
  8. आप विधानसभा का नाम और संस्करण नियंत्रित कर सकते हैं।
  9. Recompiling बिना परिनियोजन के बाद आप व्यक्तिगत फ़ाइलों को संपादित नहीं कर सकते।

यह आप क्या विकसित कर रहे हैं पर निर्भर करता है

एक सामग्री उन्मुख वेबसाइट पर इसकी सामग्री अक्सर बदलती रहती है और वेबसाइट इसके लिए बेहतर होती है।

एक ऐप के पास डाटाबेस में संग्रहीत डाटा और इसके पन्नों और कोड बदलने की संभावना कम होती है। इस मामले में यह बेहतर है कि वेब अनुप्रयोग तैयार किया जाए, जहां विधानसभाओं की तैनाती बहुत अधिक नियंत्रित होती है और यूनिट परीक्षण के लिए बेहतर समर्थन होता है।

Compilation सबसे पहले Compilation में एक अंतर है। वेब साइट सर्वर पर पहले से संकलित नहीं है, यह फ़ाइल पर संकलित है। यह एक फायदा हो सकता है क्योंकि जब आप अपनी वेब साइट में कुछ बदलना चाहते हैं तो आप सर्वर से एक विशिष्ट फ़ाइल डाउनलोड कर सकते हैं, इसे बदल सकते हैं और इस फाइल को सर्वर पर वापस अपलोड कर सकते हैं और सब कुछ ठीक काम करेगा। वेब अनुप्रयोग में आप ऐसा नहीं कर सकते क्योंकि कभी-कभी पहले से संकलित किया जाता है और आप केवल एक डीएलएल के साथ समाप्त होते हैं। जब आप अपनी परियोजना की एक फ़ाइल में कुछ बदलते हैं तो आपको सब कुछ फिर से संकलन करना होगा। इसलिए यदि आप सर्वर पर कुछ फ़ाइलें बदलने की संभावना चाहते हैं तो वेब साइट आपके लिए बेहतर समाधान है यह कई डेवलपर्स को एक वेब साइट पर काम करने की अनुमति देता है। दूसरी ओर, यदि आप नहीं चाहते कि आपका कोड सर्वर पर उपलब्ध हो, तो आपको वेब एप्लिकेशन चुनना चाहिए। यह विकल्प इकाई परीक्षण के लिए बेहतर है क्योंकि आपकी वेबसाइट को प्रकाशित करने के बाद एक DLL फाइल बनाई जा रही है

Project structure एक अंतर भी है। वेब अनुप्रयोग में आपके पास एक प्रोजेक्ट फ़ाइल है जैसे आपके सामान्य अनुप्रयोग में था। वेब साइट में कोई पारंपरिक प्रोजेक्ट फाइल नहीं है, आपके पास समाधान फ़ाइल है। सभी संदर्भ और सेटिंग्स web.config फ़ाइल में संग्रहीत हैं I @Page directive इस पेज से जुड़ी वर्ग वाले फाइल के लिए @ पेज डायरेक्टिव में एक अलग विशेषता है। वेब अनुप्रयोग में यह मानक "CodeBehind" है, वेब साइट में आप "कोडफाइल" का उपयोग करते हैं आप इसे नीचे दिए गए उदाहरणों में देख सकते हैं:

 Web Application: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication._Default" %> 

वेबसाइट:

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

नामस्थान – ऊपर दिए गए उदाहरण में आप एक और अंतर भी देख सकते हैं – नाम स्थान कैसे बनाए जाते हैं वेब अनुप्रयोग नेमस्पेस में केवल परियोजना का एक नाम है। वेबसाइट में गतिशील रूप से संकलित पृष्ठों के लिए डिफ़ॉल्ट नामस्थान एएसपी है।

संपादित करें और जारी रखें- वेब अनुप्रयोग में संपादित करें और जारी रखें विकल्प उपलब्ध है (इसे चालू करने के लिए आपको उपकरण मेनू पर जाना होगा, विकल्प पर क्लिक करें, संपादित करें और डिबगिंग में जारी रखें पर क्लिक करें)। यह सुविधा वेब साइट में काम नहीं कर रही है। एएसपी.नेट एमवीआईसी यदि आप वेब अनुप्रयोगों का उपयोग कर विकास करना चाहते हैं

ASP.NET MVC (मॉडल व्यू नियंत्रक) सर्वश्रेष्ठ और डिफ़ॉल्ट विकल्प वेब अनुप्रयोग है यद्यपि वेब साइट में एमवीसी का उपयोग करना संभव है, लेकिन यह अनुशंसित नहीं है।

सारांश – एएसपी.नेट वेब अनुप्रयोग और वेब साइट के बीच सबसे महत्वपूर्ण अंतर संकलन है। इसलिए यदि आप एक बड़ी परियोजना पर काम करते हैं जहां कुछ लोग इसे संशोधित कर सकते हैं तो यह वेब साइट का उपयोग करना बेहतर है। लेकिन अगर आप एक छोटी परियोजना कर रहे हैं तो आप भी वेब अनुप्रयोग का उपयोग कर सकते हैं।

प्रमुख अंतर में से एक यह है कि वेबसाइटें गतिशील रूप से संकलित करती हैं और इन-मक्खी असेंबलियों को बनाते हैं। वेब अनुप्रयोगों एक बड़े विधानसभा में संकलित

दोनों के बीच का अंतर दृश्य स्टूडियो 2008 में समाप्त हो गया है।

हाँ वेब अनुप्रयोग वेब साइटों से काफी बेहतर है, क्योंकि वेब अनुप्रयोग हमें स्वतंत्रता देते हैं:

  1. एक छतरी के तहत कई परियोजनाएं करने के लिए और परियोजना निर्भरताओं को बीच में स्थापित करना। पीसी के लिए उदाहरण हम वेब अनुप्रयोग में निम्नलिखित हो सकते हैं-

    • वेब पोर्टल
    • सूचना नियंत्रक (ईमेल भेजने के लिए)
    • व्यापार परत
    • डेटा एक्सेस परत
    • अपवाद प्रबंधक
    • सर्वर उपयोगिता
    • WCF सेवाएं (सभी प्लेटफ़ॉर्म के लिए सामान्य)
    • सामग्री सूचीबद्ध करें
  2. एएसपी.नेट पेजों से जुड़े क्लास फाइलों में कोड पर यूनिट टेस्ट चलाने के लिए

  3. उन कक्षाओं का संदर्भ देने के लिए, जो स्वसंपूर्ण वर्गों से पृष्ठों और उपयोगकर्ता नियंत्रण से जुड़े हैं
  4. संपूर्ण साइट के लिए एक एकल विधानसभा बनाने के लिए
  5. साइट के लिए जनरेट किया गया असेंबली नाम और संस्करण संख्या पर नियंत्रण करें
  6. एक उत्पादन सर्वर पर स्रोत कोड डालने से बचने के लिए (आप आईआईएस सर्वर पर स्रोत कोड की तैनाती से बच सकते हैं। कुछ परिदृश्यों में, जैसे कि होस्टिंग वातावरण साझा किए गए हैं, आप आईआईएस सर्वर पर स्रोत कोड की अनधिकृत पहुंच के बारे में चिंतित हैं। (एक वेब साइट प्रोजेक्ट के लिए, आप इस जोखिम से बच सकते हैं एक विकास कंप्यूटर पर पूर्व-कंपाइल करना और स्रोत कोड के बजाय जनरेटिंग असेंबली की तैनाती करना। हालांकि, उस स्थिति में आप आसानी से साइट अपडेट के कुछ लाभ खो देते हैं।)
  7. वेबसाइट के साथ प्रदर्शन का मुद्दा (वेब ​​साइट का पहला अनुरोध करने के लिए साइट को संकलित करने की आवश्यकता पड़ सकती है, जिसके परिणामस्वरूप देरी हो सकती है। और अगर वेब साइट आईआईएस सर्वर पर चल रही है जो स्मृति में कम है, जिसमें संपूर्ण साइट शामिल है एकल असेंबली कई मेमोरी के लिए अधिक स्मृति की आवश्यकता होगी।)

एप्लिकेशन आमतौर पर तैनाती से पहले संकलित किए जाते हैं, जहां वेबसाइट ऐपकोड डायरेक्टरी का उपयोग करती है। जब ऐप कोड फ़ोल्डर में कोई भी बदलाव होता है तो सर्वर कोड को फिर से संकलित करेगा। इसका मतलब है कि आप मक्खी पर एक वेबसाइट के साथ कोड जोड़ सकते हैं / बदल सकते हैं।

एक ऐप का लाभ यह है कि कोई पुनः कंपाइलिंग नहीं है और इसलिए शुरुआती प्रारंभिक समय तेज़ हो जाएगा।

मैं आपको एएसपी.नेट वेबसाइट पर वीडियो वेब एप्लीकेशन प्रोजेक्ट्स और वेब परिनियोजन परियोजनाओं को देखने की सलाह देता हूं जो कि बहुत विस्तार से अंतर को बताता है, यह मेरे लिए काफी सहायक था

वैसे, शीर्षक से उलझन में मत हो, वीडियो का एक बड़ा हिस्सा वेबसाइट प्रोजेक्ट्स और वेब एप्लिकेशन परियोजनाओं के बीच अंतर बताता है और क्यों कि माइक्रोसॉफ्ट ने विज़ुअल स्टूडियो 2005 में वेब एप्लीकेशन प्रोजेक्ट्स को पुन: प्रस्तुत किया (जैसा कि आप शायद पहले से ही जानते हैं, यह मूल रूप से केवल वेबसाइट प्रोजेक्ट्स के साथ भेज दिया गया था तो वेब एप्लिकेशन प्रोजेक्ट SP1 में जोड़े गए थे) एक महान वीडियो मैं अत्यधिक किसी के लिए सिफारिश करता है जो अंतर जानना चाहता है

एक "वेब साइट" का कोड एक विशेष App_Code निर्देशिका में है और यह कई डीएलएल (असेंबलियों) में रनटाइम पर संकलित है एक "वेब अनुप्रयोग" को एक एकल डीएलएल में प्रीकंपल किया गया है।

वेबसाइट और प्रोजेक्ट >> वेबसाइट एएसपी.नेट विज़ुअल स्टूडियो का उपयोग करने के दो अलग-अलग तरीके हैं। एक परियोजनाहीन है और दूसरा परियोजना पर्यावरण है अंतर के रूप में कर रहे हैं

  1. समाधान फ़ाइल को प्रोजेक्ट परिवेश में रूट निर्देशिका के रूप में उसी निर्देशिका में संग्रहीत किया जाता है।
  2. प्रोजेक्ट परिवेश में तैनात करने से पहले समाधान और प्रोजेक्ट फाइल को हटाने की आवश्यकता है।
  3. पूर्ण रूट निर्देशिका प्रोजेक्टलेस वातावरण में तैनात है।

वहाँ किसी भी दृष्टिकोण का उपयोग करने में कोई बहुत अंतर नहीं है लेकिन अगर आप वेबसाइट बना रहे हैं जो अधिक समय लगेगा, तो परियोजना परिवेश के लिए विकल्प चुनें।

वेब अनुप्रयोग परियोजना मॉडल

  • विज़ुअल स्टूडियो के रूप में एक ही वेब प्रोजेक्ट सिमेंटिक्स प्रदान करता है। नेट वेब प्रोजेक्ट्स परियोजना फाइल (प्रोजेक्ट फाइलों पर आधारित संरचना) है मॉडल बनाएं – इस परियोजना में सभी कोड एक एकल विधानसभा में संकलित किए गए हैं। IIS और अंतर्निहित ASP.NET विकास सर्वर दोनों का समर्थन करता है। विजुअल स्टूडियो 2005 (रिफैक्टरिंग, जेनरिकिक्स आदि) और एएसपी.नेट (मास्टर पेज, सदस्यता और लॉगइन, साइट नेविगेशन, थीम, आदि) की सभी सुविधाओं का समर्थन करता है। FrontPage सर्वर एक्सटेंशन (FPSE) का उपयोग अब एक आवश्यकता नहीं है

वेब साइट परियोजना मॉडल

  • कोई प्रोजेक्ट फाइल (फाइल सिस्टम के आधार पर)
  • नया संकलन मॉडल
  • डायनामिक संकलन और प्रत्येक पृष्ठ दृश्य पर संपूर्ण साइट के निर्माण के बिना पृष्ठों पर काम करना।
  • IIS और अंतर्निहित ASP.NET विकास सर्वर दोनों का समर्थन करता है।
  • प्रत्येक पृष्ठ में यह स्वयं की विधानसभा है
  • स्पष्ट कोड मॉडल

यह हमेशा आपके ग्राहक की आवश्यकता पर निर्भर करता है। एएसपी.नेट में केवल लचीला सुविधाओं को शामिल किया गया है जो उपयोगकर्ता को सुरक्षा और आपके आवेदन के आसान रखरखाव के लिए आवश्यक है।

आप एक वेब अनुप्रयोग को बाइनरी फ़ाइल के रूप में सोच सकते हैं जो एएसपी.नेट ढांचे के अंदर चलती है। और एक स्थिर वेबपेज के रूप में वेब साइट्स जिसे आप समीक्षा कर सकते हैं और आसानी से सोर्स कोड को परिनियोजित कर सकते हैं।

लेकिन इन दोनों एएसपी.नेट प्रौद्योगिकियों के फायदे और नुकसान आते हैं जो अच्छा है।

वेब अनुप्रयोग प्रोजेक्ट्स में, विज़ुअल स्टूडियो को पृष्ठों और उपयोगकर्ता नियंत्रणों के लिए अतिरिक्त .designer फ़ाइलों की आवश्यकता है। वेब साइट परियोजनाओं को इस ओवरहेड की आवश्यकता नहीं है। मार्कअप को स्वयं डिजाइन के रूप में समझा जाता है

वेबसाइट: यह स्वतः एन्ककोड फ़ोल्डर बनाता है और यदि आप इसे सर्वर पर प्रकाशित करते हैं और उसके बाद यदि आप किसी विशेष फाइल या पेज में कुछ बदलाव करते हैं, तो आपको सभी फाइलों को संकलित करने की ज़रूरत नहीं है।

वेब अनुप्रयोग यह समाधान फ़ाइल स्वचालित रूप से उत्पन्न करता है जो वेबसाइट नहीं उत्पन्न करती है और यदि आप एक फ़ाइल में परिवर्तन करते हैं, तो उसके परिवर्तनों को प्रतिबिंबित करने के लिए पूर्ण प्रोजेक्ट को संकलित करना है।

वेब अनुप्रयोगों को अधिक स्मृति की आवश्यकता होती है, संभवत: क्योंकि आपके पास एक भी विधानसभा में संकलित करने के लिए कोई विकल्प नहीं है। मैंने सिर्फ एक बड़ी विरासत साइट को एक वेब अनुप्रयोग में बदल दिया और स्मृति से बाहर चलने के साथ समस्याएं हैं, दोनों के साथ समय संकलन में

 Unexpected error writing metadata to file '' -- Not enough storage is available to complete this operation. 

त्रुटि और इस त्रुटि के साथ रनटाइम पर:

 Exception information: Exception type: HttpException Exception message: Exception of type 'System.OutOfMemoryException' was thrown. at System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() 

मेमोरी-बाधित लेगसी हार्डवेयर पर बड़ी साइटों को परिवर्तित करने की मेरी सिफारिश है कि स्वयं को वेब साइट मॉडल पर वापस लौटने का विकल्प दें। प्रारंभिक सफलता की समस्याओं के बाद भी बाद में रेंगते हो सकते हैं

वेब अनुप्रयोग में आप अपने प्रोजेक्ट की कार्यक्षमता की परतें बना सकते हैं और उनसे कई परियोजनाओं में विभाजित करके अंतर-निर्भरता बना सकते हैं, लेकिन आप ऐसा कभी भी वेबसाइट पर नहीं कर सकते हैं।

निश्चित रूप से वेब एप्लिकेशन, एकल DLL फ़ाइल और बनाए रखने में आसान। लेकिन एक वेबसाइट अधिक लचीला है; आप जाने पर aspx फ़ाइल को संपादित कर सकते हैं

यहां वेब सहायक एप्लिकेशन वेबसाइट का एक उदाहरण है

यहां वेब सहायक एप्लिकेशन वेबसाइट का एक उदाहरण है वेबसाइट और वेब अनुप्रयोग दोनों गतिशील / स्थिर हो सकते हैं इसकी आवश्यकताओं पर निर्भर करता है, यहां वेबसाइट और वेब अनुप्रयोग के काम को समझने के लिए एक उदाहरण है।

वेबसाइटें – कोई भी समाधान फ़ाइल नहीं बनाई जाएगी। अगर हम दृश्य स्टूडियो के लिए वेबसाइटों की कोई आवश्यकता नहीं बनाना चाहते हैं

वेब अनुप्रयोग – एक समाधान फ़ाइल बनाई जाएगी। अगर हम वेब अनुप्रयोग बनाना चाहते हैं तो दृश्य स्टूडियो की आवश्यकता होनी चाहिए। यह बिन फ़ोल्डर में एक एकल .dll फ़ाइल बनाएगा।