2010-11-16 1 views
14

sto cercare di costruire Uri ma sono in grado di gestire male di UriURI non valido: Il nome host Impossibile analizzare

C'è un modo siamo in grado di gestire

if (reviews[e.Item.ItemIndex].URL.ToString().Contains("http:")) 
{ 
     oURI = new Uri(reviews[e.Item.ItemIndex].URL.ToString()); 
} 
else 
{ 
    oURI = new Uri("http://"+ reviews[e.Item.ItemIndex].URL.ToString()); 
} 

parte Else male di Uri ottiene errore fuori per cattiva uri di Grazie

+1

Se si utilizza il tag Codice di esempio, sarà molto più semplice leggere questo –

+0

Qual è la tua domanda? – SLaks

+0

@Femaref: la modifica non è corretta. 'Sto cercando di costruire ...' era corretto. – gligoran

risposta

18

chiamata Uri.TryCreate:

string original = reviews[e.Item.ItemIndex].URL.ToString(); 
if (!original.StartsWith("http:")) 
    original = "http://" + original; 
Uri uri; 
if (!Uri.TryCreate(original, UriKind.Absolute, out uri)) { 
    //Bad bad bad! 
} 
+0

Cool, non sapevo che esistesse. Ho rimosso il mio post poiché il tuo post sembra essere la risposta migliore. –

+0

Ha fatto il trucco Grazie mille .. – kumar

0

Ho avuto un errore simile con nginx fastcgi-mono-server4. Risulta che il server Web ha fornito il valore di espressioni regolari per SERVER_NAME. Quindi devo aggiustarlo sul server sostituendo fastcgi_param SERVER_NAME $host;

0

Avevo uno spazio dopo "http: //" come http: // exampleServer/exampleservice.svc che aveva causato questo errore.