Very useful inside your libraries:
blog.nathan-taylor.net/2010/07/aspnet-convert-relative-url-to-absolute.html
public static string ToAbsoluteUrl(string relativeUrl)
{
if (string.IsNullOrEmpty(relativeUrl))
return relativeUrl; if (HttpContext.Current == null)
return relativeUrl; if (relativeUrl.StartsWith("/"))
relativeUrl = relativeUrl.Insert(0, "~");
if (!relativeUrl.StartsWith("~/"))
relativeUrl = relativeUrl.Insert(0, "~/");
var url = HttpContext.Current.Request.Url;
var port = url.Port != 80 ? (":" + url.Port) : String.Empty;
return string.Format("{0}://{1}{2}{3}",
url.Scheme, url.Host, port,
VirtualPathUtility.ToAbsolute(relativeUrl));
}