विलय करते समय पथ भाग ओवरराइट हो जाता है मुझे दो यूआरएल को गठबंधन करने की आवश्यकता होती है जिनमें दोनों की जानकारी होती है।दो यूआरआई
मुझे Uri
का उपयोग करने की संभावना देने के लिए मैं उपयोग करना चाहूंगा। ट्रीक्रेट(), इसलिए मैं विकृत यूआरएल को पकड़ सकता हूं।
समस्या यह है कि मैं का सामना करना पड़ रहा है कि आधार URI पथ पर ध्यान नहीं दिया जा करने के लिए जब मैं निरपेक्ष और सापेक्ष यूआरआई विलय लगता है:
Uri absoluteUri= new Uri("http://hostname/path/", UriKind.Absolute);
Uri relativeUri = new Uri("/my subsite/my page.aspx?my=query", UriKind.Relative);
Uri resultUri;
if (!Uri.TryCreate(absoluteUri, relativeUri, out resultUri))
// handle errors
ऊपर की आउटपुट है:
http://hostname/my%20subsite/my%20page.aspx?my=query
मैं इसे होना चाहते हैं:
http://hostname/path/my%20subsite/my%20page.aspx?my=query
वहाँ URL हैं, जो बो गठबंधन करने के लिए एक रास्ता है Uri
कक्षा का उपयोग कर पथ जानकारी शामिल है?
क्या आपने इसे आजमाया? जब मैं करता हूं तो कोई फर्क नहीं पड़ता। –
@anders, हाँ, मेरे लिए काम करता है; मैं एक पूर्ण उदाहरण के साथ अपना जवाब संपादित करता हूं; कृपया, एक नज़र डालें –
आह मैंने पाया कि आपका कोड क्या काम करता है और मेरा नहीं: ऐसा लगता है कि पूर्ण यूआरएल भी इसे काम करने के साथ समाप्त होना चाहिए! मैंने स्ट्रिंग absoluteUrl = "http: // होस्टनाम/पथ" का उपयोग किया; और यह काम नहीं किया, लेकिन "पथ" के बाद दोनों अंत slahs के साथ और "मेरे" से पहले कोई स्लैश शुरू नहीं लगता है यह काम करता है! ऐसा लगता है कि इतनी बीमार परीक्षण इतनी अधिक है, लेकिन आप इसके लिए एक उत्तर के लायक हैं :-) –