private static Uri ConvertToAbsoluteUrl(string url, string baseUrl)
{
// we try to prevent the exception caused in the case the url is relative
// (no scheme info) just for speed
if (url.IndexOf(Uri.SchemeDelimiter) < 0 && baseUrl != null)
{
try
{
Uri baseUri = new Uri(baseUrl);
return new Uri(baseUri, url);
}
catch
{
return null;
}
}
try
{
Uri uri = new Uri(url);
return uri;
}
catch (Exception)
{
if (baseUrl != null)
{
try
{
Uri baseUri = new Uri(baseUrl);
return new Uri(baseUri, url);
}
catch (Exception)
{
return null;
}
}
else
{
return null;
}
}
}