Uri Constructor (Uri, String)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Initializes a new instance of the Uri class based on the specified base URI and relative URI string.

Namespace:  System
Assembly:  System (in System.dll)

Syntax

'Declaration
Public Sub New ( _
    baseUri As Uri, _
    relativeUri As String _
)
public Uri(
    Uri baseUri,
    string relativeUri
)

Parameters

  • relativeUri
    Type: System.String
    The relative URI to add to the base URI.

Exceptions

Exception Condition
ArgumentNullException

baseUri is nulla null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

baseUri is not an absolute Uri instance.

UriFormatException

The URI formed by combining baseUri and relativeUri is empty or contains only spaces.

-or-

The scheme specified in the URI formed by combining baseUri and relativeUri is not valid.

-or-

The URI formed by combining baseUri and relativeUri contains too many slashes.

-or-

The password specified in the URI formed by combining baseUri and relativeUri is not valid.

-or-

The host name specified in the URI formed by combining baseUri and relativeUri is not valid.

-or-

The file name specified in the URI formed by combining baseUri and relativeUri is not valid.

-or-

The user name specified in the URI formed by combining baseUri and relativeUri is not valid.

-or-

The host or authority name specified in the URI formed by combining baseUri and relativeUri cannot be terminated by backslashes.

-or-

The port number specified in the URI formed by combining baseUri and relativeUri is not valid or cannot be parsed.

-or-

The length of the URI formed by combining baseUri and relativeUri exceeds 65519 characters.

-or-

The length of the scheme specified in the URI formed by combining baseUri and relativeUri exceeds 1024 characters.

-or-

There is an invalid character sequence in the URI formed by combining baseUri and relativeUri.

-or-

The MS-DOS path specified in uriString must start with c:\\.

Remarks

This constructor creates a Uri instance by combining the baseUri and the relativeUri. If relativeUri is an absolute URI (containing a scheme, host name, and optionally a port number), the Uri instance is created using only relativeUri.

The string can be poorly formed and can still be used to construct a Uri instance. The Silverlight runtime will try to correct some minor issues with a poorly-formed string when this constructor is called to create a Uri instance.

This constructor allows a Silverlight application to create a Uri instance for many schemes as described in the Scheme property. However, only Uri instances for the UriSchemeHttp or UriSchemeHttps schemes are supported by the WebClient and HTTP classes in the System.Net namespace.

This constructor does not ensure that the Uri refers to an accessible resource.

Silverlight-based applications are cross-platform, so they run in most modern Web browsers, including Apple Safari version 2.0 and later on Apple Mac OS X. However, Uri(Uri, String) does not convert backslashes in the relativeUri parameter to forward slashes in the Uri on Apple Mac OS X.

Examples

The following example creates a new instance of the Uri class by combining the relative URIs https://www.contoso.com and catalog/showew.htm to form the absolute URI https://www.contoso.com/catalog/shownew.htm.

  Dim baseUri As New Uri("https://www.contoso.com")
  Dim myUri As New Uri(baseUri, "catalog/shownew.htm")

  outputBlock.Text &= myUri.ToString()
  outputBlock.Text &= vbCrLf

      Uri baseUri = new Uri("https://www.contoso.com");
      Uri myUri = new Uri(baseUri, "catalog/shownew.htm");

      outputBlock.Text += "Uri: ";
      outputBlock.Text += myUri.ToString();
      outputBlock.Text += "\n";

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.