2010-01-29 5 views
19

Souvent, je veux changer juste un partie d'un URI et récupérer un nouvel objet URI.. URI NET: Comment changer une partie d'un URI?

Dans mon dilemme actuel, je veux ajouter .nyud.net, pour utiliser le CoralCDN. J'ai un URI qualifié complet fullUri. Comment puis-je, en effet, faire ceci:

fullUri.Host = fullUri.Host + ".nyud.net"; 

Cela doit travailler pour presque toutes les URL, et le port de la demande doit être maintenue.

Toute aide serait grandement appréciée.

Répondre

37

Vous pouvez utiliser un UriBuilder pour modifier les pièces individuelles d'un Uri:

Uri uri = new Uri("http://stackoverflow.com/questions/2163191/"); 

UriBuilder builder = new UriBuilder(uri); 
builder.Host += ".nyud.net"; 

Uri result = builder.Uri; 
// result is "http://stackoverflow.com.nyud.net/questions/2163191/" 
+1

Comment pourrais-je être si stupide? Je n'avais aucune idée que cela existait. Merci! –