में Server.MapPath का उपयोग करते हुए मैं कोडMVC3
string xsltPath = System.Web.HttpContext.Current.Server.MapPath(@"App_Data") + "\\" + TransformFileName
यह रिटर्न
C:\inetpub\wwwroot\websiteName\SERVICENAME\App_Data\FileName.xsl
मैं क्यों ServiceController, SERVICENAME
के लिए पथ हो रही है? मैं App_Data करने के लिए पथ, जिसमें
C:\inetpub\wwwroot\websiteName\App_Data\FileName.xsl
यह काम करता है। मैं "वर्चुअल रूट" के बारे में एक लेख पढ़ रहा था, लेकिन मैंने इसका पालन नहीं किया। http://www.dotnetperls.com/mappath क्या आप "पूर्ण" और "सापेक्ष" पथ परिभाषित कर सकते हैं और वे "भौतिक" और "आभासी" पथों की तुलना कैसे करते हैं? –
@ पी। ब्रायन। मैकी: निरपेक्ष अर्थ रूट से पथ है, जैसे "/ someTopDirectory/someSubDirectory"। सापेक्ष का मतलब है कि आप वर्तमान में कहां से हैं, इसलिए यदि आप "कुछ सबबॉरेक्टरी" में हैं और "कुछ टॉप डायरेक्टरी" प्राप्त करना चाहते हैं, तो एक सापेक्ष पथ ".." (एक निर्देशिका ऊपर जाएं)। भौतिक पथ पथ हैं क्योंकि सिस्टम उन्हें देखता है: "सी: \ inetpub \ myApp \ someTopDirectory \ someSubDirectory"। वर्चुअल पथ एक वेब सर्वर अनुप्रयोग के रूप में हैं उन्हें देखता है: "/ someTopDirectory/someSubDirectory"। –
@ पी। ब्रायन। मैकी: अपनी स्थिति के लिए और अधिक स्पष्ट करने के लिए, मैपपाथ एक आभासी पथ को भौतिक पथ में परिवर्तित करता है। वर्चुअल पथ के लिए अपने पैरामीटर में, आप एक रिश्तेदार के बजाय एक पूर्ण पथ प्रदान करना चाहते हैं। वेब अनुप्रयोग में पूर्ण पथ के लिए "रूट" इंगित करने वाला मार्कर "~" है, इसलिए पूर्ण वर्चुअल रूट = "~ /"। –