O problema é como obter a URL completa, ou absoluta (absolute URL), em Asp.NET.
public string ObtemUrl(Control c, string relativePath)
{
//relativePath deve conter algo como "~/meu/arquivo/no/servidor"
return new Uri(c.Page.Request.Url, c.ResolveUrl(relativePath)).ToString();
}
A chamada fica assim:
string umaUrl = objeto.ObtemUrl(this, "~/meu/arquivo/no/servidor");
A variável umaUrl conterá algo como “http://www.example.com/meu/arquivo/no/servidor”.
Não achei nenhum modo mais simples.