Pergunta

Eu tenho um URL base:

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

E uma relativa:

../../other/path

Como obter a URL absoluta com isso? É muito straighforward usando a manipulação de cadeia, mas eu gostaria de fazer isso de forma segura, usando a classe Uri ou algo similar.

É para um padrão um aplicativo C #, não um ASP.NET.

Foi útil?

Solução

var baseUri = new Uri("http://my.server.com/folder/directory/sample");
var absoluteUri = new Uri(baseUri,"../../other/path");

ou

Uri uri;
if ( Uri.TryCreate("http://base/","../relative", out uri) ) doSomething(uri);

Outras dicas

Alguns podem estar à procura de solução de Javascript que permitiria a conversão de URLs 'na mosca' quando a depuração

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

utilização como:

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

http://google.com/

ou

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

http://stackoverflow.com/absolute

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top