public virtual Uri ResolveUri(Uri baseUri, string relativeUri) {
if ( baseUri == null || ( !baseUri.IsAbsoluteUri && baseUri.OriginalString.Length == 0 ) ) {
Uri uri = new Uri( relativeUri, UriKind.RelativeOrAbsolute );
if ( !uri.IsAbsoluteUri && uri.OriginalString.Length > 0 ) {
uri = new Uri( Path.GetFullPath( relativeUri ) );
}
return uri;
}
else {
if ( relativeUri == null || relativeUri.Length == 0 ) {
return baseUri;
}
return new Uri( baseUri, relativeUri );
}
}