2010-01-29 19 views
19

A menudo quiero cambiar solo uno parte de un URI y recuperar un nuevo objeto URI..NET URI: ¿Cómo puedo cambiar UNA parte de un URI?

En mi dilema actual, quiero anexar .nyud.net, para usar CoralCDN.

Tengo un URI totalmente calificado fullUri. ¿Cómo puedo, en efecto, hacer esto:

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

Esto tiene que trabajar para casi cualquier URL, y el puerto de la solicitud debe ser mantenido.

Cualquier ayuda sería muy apreciada.

Respuesta

37

Puede utilizar un UriBuilder modificar partes individuales de 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

¿Cómo pude ser tan estúpida? No tenía idea de que eso existiera. ¡Gracias! –