2010-01-29 3 views
19

Часто я хочу изменить только один из часть URI и получить новый объект URI..NET URI: Как я могу изменить одну часть URI?

В моей текущей дилемме я хочу добавить .nyud.net, чтобы использовать CoralCDN.

У меня есть полностью квалифицированный URI fullUri. Как я могу, в сущности, это сделать:

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

Это должно работать практически для любого URL, и порт запроса должно быть сохранен.

Любая помощь будет высоко оценена.

ответ

37

Вы можете использовать UriBuilder изменять отдельные части в 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

Как я мог быть настолько глуп? Я понятия не имел, что это существовало. Благодаря! –

Смежные вопросы