आवेदन और आभासी निर्देशिका के बीच अंतर


11

मैं asp.net डेवलपर हूं, मैं IIS और वर्चुअल निर्देशिका के बीच हमेशा भ्रमित रहता हूं। ऐसा लगता है कि iis 6.0 में, आप केवल वर्चुअल निर्देशिका बना सकते हैं।


1
IIS6 में आप एक वर्चुअल डायरेक्टरी बनाते हैं और फिर इसे एक एप्लिकेशन में बदलते हैं।
मार्क हेंडरसन

जवाबों:


13

उन दोनों को भ्रमित करना आसान है और लोग अक्सर शब्दों का परस्पर उपयोग करते हैं।

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

एक आवेदन विभिन्न फ़ोल्डरों के बीच एक सीमा है। ASP.NET एक नया AppDomain रूट (या एप्लिकेशन रूट) बनाने के लिए इसका उपयोग करता है। एक एप्लिकेशन रूट एक अलग Global.asax, बिन फ़ोल्डर और अन्य app_ [फ़ोल्डर्स।] का उपयोग करता है।

IIS6 और IIS7 में यदि आप एक वर्चुअल निर्देशिका बनाते हैं, तो यह डिफ़ॉल्ट रूप से एक एप्लिकेशन भी नहीं है। ASP.NET इसे अपने मूल फ़ोल्डर के समान AppDomain में डाल देगा।

IIS6 में आप वर्चुअल निर्देशिका या एक नियमित फ़ोल्डर को राइट-क्लिक करके गुणों में बना सकते हैं -> गुण और बनाएँ।

IIS7 में विकल्पों को अलग-अलग नाम दिया गया है लेकिन यह पृष्ठभूमि में समान है। एक आभासी निर्देशिका बनाने से आप एक vdir बना सकते हैं जो अभी भी अपने माता-पिता के AppDomain का हिस्सा है, न कि एप्लिकेशन)।

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

आप किसी मौजूदा फ़ोल्डर (या vdir) पर राइट-क्लिक करें और एप्लिकेशन में कनवर्ट कर सकते हैं। यह मौजूदा नियमित या वर्चुअल फ़ोल्डर पर एप्लिकेशन सीमा बनाने का एक तरीका है।


मेरे IIS 7 पर डिफ़ॉल्ट वेब साइट MOSS 2007 (SharePoint) चल रही है। चूंकि मैं चाहता हूं कि उपयोगकर्ता यह महसूस करें कि वे अभी भी पोर्टल पर हैं, इसलिए मैंने एक समान ब्रांडेड ASP.NET वेब एप्लिकेशन बनाया और इसे उसी साइट के तहत वर्चुअल निर्देशिका आधारित एप्लिकेशन के रूप में सेट किया। डिफ़ॉल्ट वेब साइट और ASP.NET अनुप्रयोग दोनों समान अनुप्रयोग पूल का उपयोग कर रहे हैं। सबसे पहले, क्या यह सुरक्षित / अच्छा अभ्यास है? दूसरे, यदि मैं ASP.NET अनुप्रयोग में सत्र को सक्षम और उपयोग करता हूं, तो क्या यह किसी भी तरह से SharePoint को प्रभावित करने के लिए SharePoint प्रबंधित सत्र की अखंडता / प्रदर्शन को खतरे में डाल देगा?
वेब यूजर

@WebUser उन्हें एक ही ऐप पूल में रखना ठीक है, और चूंकि वे ऐप पूल में अलग-अलग एप्लिकेशन हैं, इसलिए सत्र की स्थिति एक-दूसरे से अलग और पृथक होगी। हालांकि, मैं वैसे भी एक अलग ऐप पूल का उपयोग करने की सलाह देता हूं। अगर कुछ एक में विफल रहता है, तो आपको दूसरे को रीसायकल या ठीक करने के लिए दोनों को नीचे नहीं ले जाना होगा। और आपके पास एक दूसरे से अलग करने के लिए NTFS अनुमतियों को बंद करने के लिए अधिक लचीलापन होगा।
स्कॉट फोर्सिथ - एमवीपी

@ ScottForsyth-MVP मैंने आपके सुझाव पर ध्यान दिया क्योंकि मैं उन्हें पूरी तरह से अलग करना चाहता था। मैंने एक नया एप्लिकेशन पूल और एक नया सेवा खाता बनाया, और पहचान स्थापित करने के लिए इस लेख का उपयोग किया । मुझे पता नहीं क्यों लेकिन System.UnauthorizedAccessExceptionपृष्ठ को प्रदर्शित करने में कुछ समय लगने के बाद आवेदन फेंकता है ; अनुप्रयोग अभी भी कार्यात्मक है, लेकिन यह धीमा है और दृश्य स्टूडियो खोलने के लिए मुझे प्रेरित करने वाले अपवाद को जन्म देता है। मैं क्या याद कर रहा हूँ पर कोई विचार?
वेब यूजर

@ ScottForsyth-MVP क्या आप इस प्रश्न को देख सकते हैं जो मैंने सर्वरफॉल्ट पर पोस्ट किया है? धन्यवाद!
वेब यूजर

@WebUser। यह शायद यह है कि आपकी कस्टम पहचान को IIS_WPG समूह में जोड़ा जाना चाहिए। IIS6 में यह एक आवश्यकता थी। मैंने आपके दूसरे पोस्ट का भी जवाब दिया।
स्कॉट फोर्सिथ - एमवीपी

2

आप यह भी देख सकते हैं .. क्या आप जानते हैं: IIS 7 / 7.5 में वर्चुअल निर्देशिका और अनुप्रयोग के बीच अंतर

संपादित: साइट को उद्धृत करने के लिए, क्योंकि लिंक मृत है;

IIS 7 / 7.5 में, आपके पास वर्चुअल डायरेक्टरी और एप्लिकेशन बनाने का विकल्प है।

एक आभासी निर्देशिका क्या है?

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

image05

एक आवेदन क्या है?

एक एप्लिकेशन वर्चुअल निर्देशिका के समान है, सिवाय इसके कि आपके पास एक अलग एप्लिकेशन पूल में एप्लिकेशन चलाने का विकल्प है।

Image06

ध्यान दें: यह है कि कैसे उपरोक्त स्क्रीनशॉट applicationhost.config में दिखता है


0

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.