मुझे पता है कि मैं होस्टिंगएन्वायरमेंट (माइक्रोसॉफ्ट.एस्पनेट.होस्टिंग नामस्थान) द्वारा वेब रूट प्राप्त कर सकता हूं।भौतिक पथ के लिए वर्चुअल पथ को कैसे मैप करें?
मुझे अपने वेब एप्लिकेशन में आईआईएस में बनाए गए वर्चुअल पथ के अनुसार भौतिक पथ प्राप्त करने की आवश्यकता है। आईआईएस में, वेबसाइट रूट मेरी प्रकाशित साइट के wwwroot को इंगित करता है और आईआईएस में जोड़ा गया वर्चुअल निर्देशिका है जो मेरे wwwroot के बाहर एक फ़ोल्डर को इंगित करता है। मुझे आशा है कि मैं उस आभासी निर्देशिका का भौतिक पथ प्राप्त कर सकता हूं। एमवीसी 5 या इससे पहले के संस्करण में, मैं HostingEnvironment.MapPath (System.Web नेमस्पेस) या सर्वर.मैपपाथ का उपयोग कर सकता हूं, मुझे एमवीसी 6 में क्या करना चाहिए?
संपादित करें:
यह आभासी पथ लेकिन वर्चुअल निर्देशिका IIS में जोड़ा नहीं है। मुझे उम्मीद है कि मैं उस वर्चुअल निर्देशिका का भौतिक पथ प्राप्त कर सकता हूं। मुझे लगता है कि आभासी निर्देशिका आईआईएस की एक विशेष विशेषता है, जो पूर्ण आभासी पथ के उप पथ की तरह दिखती है लेकिन भौतिक वेब रूट फ़ोल्डर के बाहर एक फ़ोल्डर हो सकती है।
अक्टू 4, 2015
this issue in ASP.NET 5 Hosting repo का संदर्भ लें, अब तक, यह हम आईआईएस में वर्चुअल निर्देशिका के भौतिक पथ प्राप्त कर सकते हैं नहीं लगता है।
मुझे नहीं लगता कि मैं इस तरह से आईआईएस में परिभाषित वर्चुअल निर्देशिका प्राप्त कर सकता हूं। एप्लिकेशनबेसपैथ मेरे 'wwwroot' के रूट पथ को इंगित करता है, लेकिन वर्चुअल निर्देशिका मेरे wwwroot के बाहर पूरी तरह से एक अलग पथ हो सकती है हालांकि वर्चुअल निर्देशिका url स्वयं ही मेरी वेबसाइट के सबफ़ोल्डर की तरह दिखती है। – Ricky
'IAplicationEnvironment.AplicationBasePath' आपके आवेदन रूट की बिल्कुल शारीरिक निर्देश है (आईआईएस के wwwroot नहीं)। यह ऐप की प्रोजेक्ट.जेसन के साथ एक निर्देशिका है। 'IHostingEnvironment.WebRoot' आपके वेबूट के लिए एप्लिकेशनबेसपैथ की एक उपनिर्देशिका है - यह ऐप की प्रोजेक्ट.जेसन में निर्दिष्ट 'डीआरआर' है। उदाहरण के लिए यह एक डीआईआर है जहां स्टेटिकफाइल मिडलवेयर से फाइलें मिलती हैं। – Shrike