2013-08-05 14 views
5

प्राप्त करें मैं सी # में एप्लिकेशन यूआरएल प्राप्त करने की कोशिश कर रहा हूं। मैंने इसका उपयोग करने का प्रयास किया है:सी # आवेदन यूआरएल

HttpContext.Current.Request.ApplicationPath 

लेकिन यह केवल मुझे "/" देता है। मैं एप्लिकेशन के बेस यूआरएल का पूरा यूआरएल प्राप्त करने की कोशिश कर रहा हूं, जो कि "something.com" हो सकता है या नहीं। कुछ मामलों में, पर्यावरण के आधार पर, यह "something.com/foo/bar" है।

मैं इसे कैसे प्राप्त कर सकता हूं?

+0

आपके आवेदन एक वर्चुअल निर्देशिका के रूप में चल रहा है, या एक रिवर्स प्रॉक्सी के पीछे है? अतीत में 'Request.AplicationPath' ने हमेशा मेरे लिए काम किया है। –

+0

किसी डीबगर को कहीं फेंक दें और 'HttpContext.Current.Request' और' HttpContext.Current.Request.Url' का निरीक्षण करें- आपको उपयोगी गुणों का एक टन मिलेगा जो आपको यूआरएल को कई तरीकों से स्वरूपित करता है - उनमें से एक शायद जा रहा है जो आप खोज रहे हैं उसके लिए। –

उत्तर

7

RawUrl आपके लिए पर्याप्त नहीं होगा?

है कि आप बहुत ज्यादा देता है, आप की कोशिश कर सकते

VirtualPathUtility.ToAbsolute("~/"); 
7

इस प्रयास करें:

string baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/'); 
+0

यह मेरे लिए बहुत अच्छा काम करता है Request.Url.Scheme + ": //" + Request.Url.Authority। इसके लिए +1 :) – tariq

संबंधित मुद्दे