Ho bisogno di combinare due URL che contengono entrambe le informazioni .Path.La parte del percorso viene sovrascritta quando si uniscono due URI
Vorrei usare Uri
per darmi la possibilità di .TryCreate(), in modo da poter rilevare gli URL malformati.
Il problema che sto affrontando è che il percorso di base URI sembra essere ignorato quando ho fondere l'assoluto e il relativo 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
uscita di quanto sopra è:
http://hostname/my%20subsite/my%20page.aspx?my=query
vorrei che fosse:
http://hostname/path/my%20subsite/my%20page.aspx?my=query
c'è un modo per combinare gli URL che Bo Contiene le informazioni sul percorso utilizzando la classe Uri
?
hai provato questo? non fa alcuna differenza quando lo faccio. –
@anders, sì, lavora per me; Modifico la mia risposta con un esempio completo; per favore, dai uno sguardo –
Ah ho trovato quello che ha fatto funzionare il tuo codice e non il mio: Sembra che l'url assoluto debba anche finire con/per farlo funzionare! Ho usato string absoluteUrl = "http: // nomehost/percorso"; e non ha funzionato, ma con entrambi gli end slah dopo "path" e nessuna barra iniziale prima di "my" sembra funzionare! Questo sembra un po 'fasullo, quindi ammetto un po' di più, ma ti meriti una risposta per questo :-) –