iis आईआईएस 7.x के संदर्भ में वेब ऐप और आभासी फ़ोल्डर के बीच क्या अंतर है?



गई टैग इन इंडिया (2)

जैसे ही मैंने अपनी वेबसाइट पर तैनात किया, मैंने पाया कि मैं एक फ़ोल्डर को वर्चुअल फ़ोल्डर या वेब एप्लिकेशन में परिवर्तित कर सकता हूं, मैं इन 2 अवधारणाओं के बारे में पूरी तरह उलझन में हूं।

  • दो अलग-अलग प्रकार क्यों हैं?

  • प्रत्येक का उद्देश्य क्या है?

https://ffff65535.com


एक वर्चुअल फ़ोल्डर या वर्चुअल निर्देशिका सर्वर पर कहीं भी भौतिक फ़ोल्डर का एक लिंक है। यह फ़ोल्डर वेबसाइट संरचना का हिस्सा बन जाता है और आप URL के पथ भाग में वर्चुअल निर्देशिका का उपयोग कर सकते हैं। आभासी निर्देशिकाओं में निष्पादित कोड उसी "एप्लिकेशन" में निष्पादित होगा क्योंकि यह अभिभावक है।

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

उदाहरण के लिए, यदि आप किसी साइट पर एएसपी.NET एप्लिकेशन को तैनात करना चाहते थे, जिसमें एक एप्लिकेशन फ़ोल्डर /myapp नामक एक एप्लीकेशन फ़ोल्डर था, तो उस एप्लिकेशन के पास इसका अपना एप्लीकेशन डोमेन, सत्र स्थिति, आवेदन स्थिति पूरी तरह से दूसरे एएसपी.NET एप्लिकेशन से अलग हो जाएगी / । उदाहरण के लिए: यदि आप रूट एप्लिकेशन में एप्लिकेशन वैल्यू Application["Thing"] = 123 करते हैं और फिर वही करते हैं लेकिन /myapp में एक अलग मान के साथ रूट में एप्लिकेशन Application["Thing"] को ओवरराइट नहीं किया जाएगा /myapp में असाइनमेंट।

एप्लिकेशन के साथ आप एक और चीज कर सकते हैं जो नीचे चलाने के लिए एक अलग एप्लिकेशन पूल निर्दिष्ट करता है। उदाहरण के लिए आपके रूट / एप्लिकेशन में ASP.NET 2.0 एप्लिकेशन हो सकता है और .NET 2.0 के लिए कॉन्फ़िगर किए गए पूल में चलाया जा सकता है। हालांकि आप ASP.NET 4.0 में लिखे गए ब्लॉग या फोरम एप्लिकेशन को चलाने के लिए इच्छुक हो सकते हैं। अब क्योंकि आप एक ही एप्लिकेशन पूल में एएसपी.NET रनटाइम संस्करणों को मिश्रित नहीं कर सकते हैं, आप विशेष रूप से एएसपी.NET 4.0 अनुप्रयोगों के लिए वैकल्पिक एप्लिकेशन पूल निर्दिष्ट कर सकते हैं।

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

यदि आप आईआईएस 7 पर आभासी निर्देशिकाओं और अनुप्रयोगों के अंतर्निहित यांत्रिकी में रूचि रखते हैं तो इस उत्तर को मैंने थोड़ी देर पहले पोस्ट किया है:

आवेदन के भीतर आवेदन बनाने के लिए ServerManager का उपयोग करना


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





iis