2010-01-30 19 views
12

मैं वर्चुअल निर्देशिका का नाम जानने के लिए Request.AplicationPath का उपयोग कर रहा हूं जिसमें मैं चल रहा हूं। क्या कोई और विश्वसनीय तरीका है?आभासी निर्देशिका का नाम प्राप्त करें?

+3

क्या 'अविश्वसनीय Request.ApplicationPath' बनाता है? –

+1

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

+1

आप जो चाहते हैं उसे प्रदान करने के लिए एक उपयोगिता फ़ंक्शन बनाएं। बेशक, अनुरोध करने के लिए अनुरोध। आवेदन पैथ का उपयोग करना। –

उत्तर

16

Request.ApplicationPath वर्चुअल निर्देशिका प्राप्त करने का पूरी तरह विश्वसनीय तरीका है और जब आपके पास HttpContext है और अनुरोध डेटा के लिए पूछ सकता है तो हमेशा काम करता है।

पथ के हिस्सों को आगे संसाधित करने और निकालने के लिए, VirtualPathUtility कक्षा पर एक नज़र डालें।

2

आपको Request.AplicationPath का उपयोग करने की आवश्यकता है। यही वह है जिसे इसके लिए बनाया गया है।

अपनी टिप्पणी के साथ जाने के लिए संपादन।

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

0

उपयोग C# में इस समारोह:

public static String GetHost() 
{ 
    var request = HttpContext.Current.Request; 
    return request.Url.Scheme + "://" + request.ServerVariables["HTTP_HOST"] + request.ApplicationPath; 
} 
संबंधित मुद्दे