Абсолютный URL из базы + относительный URL в C #

У меня есть базовый URL:

http://my.server.com/folder/directory/sample

И относительный:

../../other/path

Как получить абсолютный URL из этого? Это довольно просто, используя манипуляции со строками, но я хотел бы сделать это безопасным способом, используяUri класс или что-то подобное.

Это для стандартного приложения на C #, а не для ASP.NET.

Ответы на вопрос(2)

Решение Вопроса
var baseUri = new Uri("http://my.server.com/folder/directory/sample");
var absoluteUri = new Uri(baseUri,"../../other/path");

ИЛИ ЖЕ

Uri uri;
if ( Uri.TryCreate("http://base/","../relative", out uri) ) doSomething(uri);
 Martin Capodici19 окт. 2014 г., 01:26
42 голоса, но это не работает. Первые отрубленные урожаи:my.server.com/other/path который отсутствует / папка / часть.
 Nordin20 мая 2009 г., 02:48
Могу ли я спросить, есть ли JavaScript-эквивалент кода выше?
 Nordin20 мая 2009 г., 05:46
Хорошо, я нашел это, JS-URI вcode.google.com/p/js-uri Благодарю.
 Mark Cidade20 окт. 2014 г., 20:02
@MartinCapodici В OP указан базовый URI, отличный от того, что вы указываете. В вашем случае вы можете использовать"http://my.server.com/folder/directory/sample/" в качестве базового URI.
 greenoldman02 апр. 2013 г., 23:23
Одно замечание, что по неизвестной причинеnew Uri декодирует HTML объекты, и если это имеет значение, это приведет к неправильному URL. Например, у меня есть страница, скажемhello%2Fworld.html стр. Сделав это абсолютным, я получаюhello/world.html что, конечно, неправильно.

позволяющее преобразовывать URL-адреса «на лету» при отладке.

var absoluteUrl = function(href) {
    var link = document.createElement("a");
    link.href = href;
    return link.href;
} 

использовать как:

absoluteUrl("http://google.com")

http://google.com/

или же

absoluteUrl("../../absolute")

http://stackoverflow.com/absolute

Ваш ответ на вопрос