Ler em inglês

Compartilhar via


Uri Construtores

Definição

Inicializa uma nova instância da classe Uri.

Sobrecargas

Uri(String)

Inicializa uma nova instância da classe Uri com o URI especificado.

Uri(SerializationInfo, StreamingContext)
Obsoleto.

Inicializa uma nova instância da classe Uri das instâncias especificadas das classes SerializationInfo e StreamingContext.

Uri(String, Boolean)
Obsoleto.
Obsoleto.
Obsoleto.

Inicializa uma nova instância da classe Uri com o URI especificado, com controle explícito de escape de caractere.

Uri(String, UriCreationOptions)

Inicializa uma nova instância da classe Uri com o URI especificado e UriCreationOptionsadicionais.

Uri(String, UriKind)

Inicializa uma nova instância da classe Uri com o URI especificado. Esse construtor permite que você especifique se a cadeia de caracteres de URI é um URI relativo, um URI absoluto ou é indeterminado.

Uri(Uri, String)

Inicializa uma nova instância da classe Uri com base no URI base especificado e na cadeia de caracteres de URI relativa.

Uri(Uri, Uri)

Inicializa uma nova instância da classe Uri com base na combinação de uma instância de Uri base especificada e uma instância de Uri relativa.

Uri(Uri, String, Boolean)
Obsoleto.
Obsoleto.
Obsoleto.

Inicializa uma nova instância da classe Uri com base nas URIs base e relativas especificadas, com controle explícito de escape de caractere.

Uri(String)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Inicializa uma nova instância da classe Uri com o URI especificado.

public Uri (string uriString);

Parâmetros

uriString
String

Uma cadeia de caracteres que identifica o recurso a ser representado pela instância Uri. Observe que um endereço IPv6 no formulário de cadeia de caracteres deve ser colocado entre colchetes. Por exemplo, "http://[2607:f8b0:400d:c06::69]".

Exceções

uriString é null.

Observação: no .NET para aplicativos da Windows Store ou na biblioteca de classes portátil , pegue a exceção de classe base, FormatException, em vez disso.

uriString está vazio.

-ou-

O esquema especificado em uriString não está formado corretamente. Consulte CheckSchemeName(String).

-ou-

uriString contém muitas barras.

-ou-

A senha especificada no uriString não é válida.

-ou-

O nome do host especificado no uriString não é válido.

-ou-

O nome do arquivo especificado no uriString não é válido.

-ou-

O nome de usuário especificado em uriString não é válido.

-ou-

O nome do host ou da autoridade especificado em uriString não pode ser encerrado por barra invertida.

-ou-

O número da porta especificado em uriString não é válido ou não pode ser analisado.

-ou-

O comprimento de uriString excede 65519 caracteres.

-ou-

O comprimento do esquema especificado em uriString excede 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida no uriString.

-ou-

O caminho MS-DOS especificado em uriString deve começar com c:\.

Exemplos

O exemplo a seguir cria uma instância de Uri com o URI http://www.contoso.com/.

Uri myUri = new Uri("http://www.contoso.com/");

Comentários

Esse construtor cria uma instância Uri de uma cadeia de caracteres de URI. Ele analisa o URI, coloca-o em formato canônico e faz as codificações de escape necessárias.

Esse construtor não garante que o Uri se refira a um recurso acessível.

Esse construtor pressupõe que o parâmetro string referencia um URI absoluto e é equivalente a chamar o construtor Uri com UriKind definido como Absolute. Se o parâmetro string passado para o construtor for um URI relativo, esse construtor gerará um UriFormatException.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Uri(SerializationInfo, StreamingContext)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Cuidado

This API supports obsolete formatter-based serialization. It should not be called or extended by application code.

Inicializa uma nova instância da classe Uri das instâncias especificadas das classes SerializationInfo e StreamingContext.

protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
[System.Obsolete("This API supports obsolete formatter-based serialization. It should not be called or extended by application code.", DiagnosticId="SYSLIB0051", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);

Parâmetros

serializationInfo
SerializationInfo

Uma instância da classe SerializationInfo que contém as informações necessárias para serializar a nova instância de Uri.

streamingContext
StreamingContext

Uma instância da classe StreamingContext que contém a origem do fluxo serializado associado à nova instância de Uri.

Atributos

Exceções

O parâmetro serializationInfo contém um URI null.

O parâmetro serializationInfo contém um URI vazio.

-ou-

O esquema especificado não está formado corretamente. Consulte CheckSchemeName(String).

-ou-

O URI contém muitas barras.

-ou-

A senha especificada no URI não é válida.

-ou-

O nome do host especificado no URI não é válido.

-ou-

O nome do arquivo especificado no URI não é válido.

-ou-

O nome de usuário especificado no URI não é válido.

-ou-

O nome do host ou da autoridade especificado no URI não pode ser encerrado por barra invertida.

-ou-

O número da porta especificado no URI não é válido ou não pode ser analisado.

-ou-

O comprimento do URI excede 65519 caracteres.

-ou-

O comprimento do esquema especificado no URI excede 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida no URI.

-ou-

O caminho MS-DOS especificado no URI deve começar com c:\.

Comentários

Esse construtor implementa a interface ISerializable para a classe Uri.

Confira também

  • de serialização XML e SOAP

Aplica-se a

.NET 9 e outras versões
Produto Versões (Obsoleto)
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7 (8, 9)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Uri(String, Boolean)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Cuidado

The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202

Cuidado

This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.

Cuidado

The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202

Inicializa uma nova instância da classe Uri com o URI especificado, com controle explícito de escape de caractere.

[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")]
public Uri (string uriString, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please use new Uri(string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (string uriString, bool dontEscape);
public Uri (string uriString, bool dontEscape);

Parâmetros

uriString
String

Uma cadeia de caracteres que identifica o recurso a ser representado pela instância Uri. Observe que um endereço IPv6 no formulário de cadeia de caracteres deve ser colocado entre colchetes. Por exemplo, "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

true se uriString tiver escapado completamente; caso contrário, false.

Atributos

Exceções

uriString é null.

uriString está vazio ou contém apenas espaços.

-ou-

O esquema especificado em uriString não é válido.

-ou-

uriString contém muitas barras.

-ou-

A senha especificada no uriString não é válida.

-ou-

O nome do host especificado no uriString não é válido.

-ou-

O nome do arquivo especificado no uriString não é válido.

-ou-

O nome de usuário especificado em uriString não é válido.

-ou-

O nome do host ou da autoridade especificado em uriString não pode ser encerrado por barra invertida.

-ou-

O número da porta especificado em uriString não é válido ou não pode ser analisado.

-ou-

O comprimento de uriString excede 65519 caracteres.

-ou-

O comprimento do esquema especificado em uriString excede 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida no uriString.

-ou-

O caminho MS-DOS especificado em uriString deve começar com c:\.

Exemplos

O exemplo a seguir cria uma instância de Uri para o URI http://www.contoso.com/Hello%20World.htm. Como o URI contido é completamente escapado e está em forma canônica, o parâmetro dontEscape pode ser definido como true.

Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);

Comentários

Esse construtor cria uma instância Uri de uma cadeia de caracteres de URI. Ele analisa o URI e o coloca em formato canônico.

O parâmetro dontEscape controla se os caracteres reservados são convertidos em sequências de escape. Esse parâmetro deve ser definido como true somente se você tiver certeza de que todos os caracteres reservados no URI foram escapados. Definir o valor como true para um URI que não foi completamente escapado pode causar um comportamento inesperado. É altamente recomendável que você sempre defina esse parâmetro como false.

Se dontEscape estiver definido como false, o construtor escapará de todos os caracteres reservados verificando se todas as ocorrências de porcentagem (%) são seguidas por uma sequência de escape válida. Se a sequência de caracteres após uma porcentagem não for válida, a porcentagem será substituída por %25.

Esse construtor não garante que o Uri se refira a um recurso acessível.

Aplica-se a

.NET 9 e outras versões
Produto Versões (Obsoleto)
.NET (Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9)
.NET Framework 1.1 (2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1)
.NET Standard (2.0, 2.1)

Uri(String, UriCreationOptions)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Inicializa uma nova instância da classe Uri com o URI especificado e UriCreationOptionsadicionais.

public Uri (string uriString, in UriCreationOptions creationOptions);

Parâmetros

uriString
String

Uma cadeia de caracteres que identifica o recurso a ser representado pela instância Uri.

creationOptions
UriCreationOptions

Opções que controlam como o Uri é criado e se comporta.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET 6, 7, 8, 9

Uri(String, UriKind)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Inicializa uma nova instância da classe Uri com o URI especificado. Esse construtor permite que você especifique se a cadeia de caracteres de URI é um URI relativo, um URI absoluto ou é indeterminado.

public Uri (string uriString, UriKind uriKind);

Parâmetros

uriString
String

Uma cadeia de caracteres que identifica o recurso a ser representado pela instância Uri. Observe que um endereço IPv6 no formulário de cadeia de caracteres deve ser colocado entre colchetes. Por exemplo, "http://[2607:f8b0:400d:c06::69]".

uriKind
UriKind

Especifica se a cadeia de caracteres de URI é um URI relativo, URI absoluto ou indeterminado.

Exceções

uriKind é inválido.

uriString é null.

Observação: no .NET para aplicativos da Windows Store ou na biblioteca de classes portátil , pegue a exceção de classe base, FormatException, em vez disso.

uriString contém um URI relativo e uriKind é Absolute.

ou

uriString contém um URI absoluto e uriKind é Relative.

ou

uriString está vazio.

-ou-

O esquema especificado em uriString não está formado corretamente. Consulte CheckSchemeName(String).

-ou-

uriString contém muitas barras.

-ou-

A senha especificada no uriString não é válida.

-ou-

O nome do host especificado no uriString não é válido.

-ou-

O nome do arquivo especificado no uriString não é válido.

-ou-

O nome de usuário especificado em uriString não é válido.

-ou-

O nome do host ou da autoridade especificado em uriString não pode ser encerrado por barra invertida.

-ou-

O número da porta especificado em uriString não é válido ou não pode ser analisado.

-ou-

O comprimento de uriString excede 65519 caracteres.

-ou-

O comprimento do esquema especificado em uriString excede 1.023 caracteres.

-ou-

Há uma sequência de caracteres inválida no uriString.

-ou-

O caminho MS-DOS especificado em uriString deve começar com c:\.

Comentários

URIs relativas e absolutas têm restrições diferentes em seu formato. Por exemplo, um URI relativo não requer um esquema ou uma autoridade. O valor especificado em uriKind deve corresponder ao tipo de URI passado em uriString. No entanto, se RelativeOrAbsolute for especificado, a cadeia de caracteres de URI poderá ser relativa ou absoluta.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Uri(Uri, String)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Inicializa uma nova instância da classe Uri com base no URI base especificado e na cadeia de caracteres de URI relativa.

public Uri (Uri baseUri, string relativeUri);
public Uri (Uri baseUri, string? relativeUri);

Parâmetros

baseUri
Uri

O URI base.

relativeUri
String

O URI relativo a ser adicionado ao URI base.

Exceções

baseUri é null.

baseUri não é uma instância de Uri absoluta.

Observação: no .NET para aplicativos da Windows Store ou na biblioteca de classes portátil , pegue a exceção de classe base, FormatException, em vez disso.

O URI formado pela combinação de baseUri e relativeUri está vazio ou contém apenas espaços.

-ou-

O esquema especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O URI formado pela combinação de baseUri e relativeUri contém muitas barras.

-ou-

A senha especificada no URI formado pela combinação de baseUri e relativeUri não é válida.

-ou-

O nome do host especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O nome do arquivo especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O nome de usuário especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O nome do host ou da autoridade especificado no URI formado pela combinação de baseUri e relativeUri não pode ser encerrado por barra invertida.

-ou-

O número da porta especificado no URI formado pela combinação de baseUri e relativeUri não é válido ou não pode ser analisado.

-ou-

O comprimento do URI formado pela combinação de baseUri e relativeUri excede 65519 caracteres.

-ou-

O comprimento do esquema especificado no URI formado pela combinação de baseUri e relativeUri excede 1023 caracteres.

-ou-

Há uma sequência de caracteres inválida no URI formada combinando baseUri e relativeUri.

-ou-

O caminho MS-DOS especificado em baseUri deve começar com c:\.

Exemplos

O exemplo a seguir cria uma nova instância da classe Uri combinando as URIs relativas http://www.contoso.com e catalog/shownew.htm para formar o URI absoluto http://www.contoso.com/catalog/shownew.htm.

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

Console.WriteLine(myUri.ToString());

Comentários

Esse construtor cria uma instância Uri combinando o baseUri e o relativeUri. Se relativeUri for um URI absoluto (contendo um esquema, um nome de host e, opcionalmente, um número de porta), a instância Uri será criada usando apenas relativeUri.

Se o baseUri tiver partes relativas (como /api), a parte relativa deverá ser encerrada com uma barra (como /api/), se a parte relativa do baseUri deve ser preservada no Uriconstruído.

Além disso, se o relativeUri começar com uma barra, ele substituirá qualquer parte relativa do baseUri

Esse construtor não garante que o Uri se refira a um recurso acessível.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Uri(Uri, Uri)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Inicializa uma nova instância da classe Uri com base na combinação de uma instância de Uri base especificada e uma instância de Uri relativa.

public Uri (Uri baseUri, Uri relativeUri);

Parâmetros

baseUri
Uri

Um Uri absoluto que é a base para a nova instância de Uri.

relativeUri
Uri

Uma instância de Uri relativa que é combinada com baseUri.

Exceções

baseUri não é uma instância de Uri absoluta.

baseUri é null.

baseUri não é uma instância de Uri absoluta.

Observação: no .NET para aplicativos da Windows Store ou na biblioteca de classes portátil , pegue a exceção de classe base, FormatException, em vez disso.

O URI formado pela combinação de baseUri e relativeUri está vazio ou contém apenas espaços.

-ou-

O esquema especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O URI formado pela combinação de baseUri e relativeUri contém muitas barras.

-ou-

A senha especificada no URI formado pela combinação de baseUri e relativeUri não é válida.

-ou-

O nome do host especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O nome do arquivo especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O nome de usuário especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O nome do host ou da autoridade especificado no URI formado pela combinação de baseUri e relativeUri não pode ser encerrado por barra invertida.

-ou-

O número da porta especificado no URI formado pela combinação de baseUri e relativeUri não é válido ou não pode ser analisado.

-ou-

O comprimento do URI formado pela combinação de baseUri e relativeUri excede 65519 caracteres.

-ou-

O comprimento do esquema especificado no URI formado pela combinação de baseUri e relativeUri excede 1023 caracteres.

-ou-

Há uma sequência de caracteres inválida no URI formada combinando baseUri e relativeUri.

-ou-

O caminho MS-DOS especificado em baseUri deve começar com c:\.

Exemplos

Este exemplo cria uma instância de Uri absoluta, absoluteUrie uma instância de Uri relativa, relativeUri. Uma nova instância de Uri, combinedUri, é criada a partir dessas duas instâncias.

// Create an absolute Uri from a string.
Uri absoluteUri = new Uri("http://www.contoso.com/");

// Create a relative Uri from a string.  allowRelative = true to allow for
// creating a relative Uri.
Uri relativeUri = new Uri("/catalog/shownew.htm?date=today", UriKind.Relative);

// Check whether the new Uri is absolute or relative.
if (!relativeUri.IsAbsoluteUri)
    Console.WriteLine("{0} is a relative Uri.", relativeUri);

// Create a new Uri from an absolute Uri and a relative Uri.
Uri combinedUri = new Uri(absoluteUri, relativeUri);
Console.WriteLine(combinedUri.AbsoluteUri);

Comentários

Esse construtor cria uma nova instância Uri combinando uma instância de Uri absoluta, baseUri, com uma instância Uri relativa, relativeUri. Se relativeUri for uma instância de Uri absoluta (contendo um esquema, um nome de host e, opcionalmente, um número de porta), a instância Uri será criada usando apenas relativeUri.

Se o baseUri tiver partes relativas (como /api), a parte relativa deverá ser encerrada com uma barra (como /api/), se a parte relativa do baseUri deve ser preservada no Uriconstruído.

Além disso, se o relativeUri começar com uma barra, ele substituirá qualquer parte relativa do baseUri

Esse construtor não garante que o Uri se refira a um recurso acessível.

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Uri(Uri, String, Boolean)

Origem:
Uri.cs
Origem:
Uri.cs
Origem:
Uri.cs

Cuidado

The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202

Cuidado

This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.

Cuidado

The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202

Inicializa uma nova instância da classe Uri com base nas URIs base e relativas especificadas, com controle explícito de escape de caractere.

[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")]
public Uri (Uri baseUri, string? relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. http://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
public Uri (Uri baseUri, string relativeUri, bool dontEscape);
[System.Obsolete("The constructor has been deprecated. Please new Uri(Uri, string). The dontEscape parameter is deprecated and is always false. https://go.microsoft.com/fwlink/?linkid=14202")]
public Uri (Uri baseUri, string relativeUri, bool dontEscape);

Parâmetros

baseUri
Uri

O URI base.

relativeUri
String

O URI relativo a ser adicionado ao URI base.

dontEscape
Boolean

true se baseUri e relativeUri forem completamente escapadas; caso contrário, false.

Atributos

Exceções

baseUri é null.

baseUri não é uma instância de Uri absoluta.

O URI formado pela combinação de baseUri e relativeUri está vazio ou contém apenas espaços.

-ou-

O esquema especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O URI formado pela combinação de baseUri e relativeUri contém muitas barras.

-ou-

A senha especificada no URI formado pela combinação de baseUri e relativeUri não é válida.

-ou-

O nome do host especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O nome do arquivo especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O nome de usuário especificado no URI formado pela combinação de baseUri e relativeUri não é válido.

-ou-

O nome do host ou da autoridade especificado no URI formado pela combinação de baseUri e relativeUri não pode ser encerrado por barra invertida.

-ou-

O número da porta especificado no URI formado pela combinação de baseUri e relativeUri não é válido ou não pode ser analisado.

-ou-

O comprimento do URI formado pela combinação de baseUri e relativeUri excede 65519 caracteres.

-ou-

O comprimento do esquema especificado no URI formado pela combinação de baseUri e relativeUri excede 1023 caracteres.

-ou-

Há uma sequência de caracteres inválida no URI formada combinando baseUri e relativeUri.

-ou-

O caminho MS-DOS especificado em baseUri deve começar com c:\.

Exemplos

O exemplo a seguir cria uma nova instância da classe Uri combinando as URIs relativas http://www.contoso.com e Hello%20World.htm para formar um URI absoluto.

Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm",false);

Comentários

Esse construtor cria uma instância Uri combinando baseUri e relativeUri. Se o URI passado em relativeUri for um URI absoluto (contendo um esquema, um nome de host e, opcionalmente, um número de porta), a instância Uri será criada usando apenas relativeUri.

O parâmetro dontEscape controla se os caracteres reservados são convertidos em sequências de escape. Esse parâmetro deve ser definido como true somente se você tiver certeza de que todos os caracteres reservados no URI foram escapados. Definir o valor como true para um URI que não foi completamente escapado pode causar um comportamento inesperado. É altamente recomendável que você sempre defina esse parâmetro como false. Se dontEscape estiver definido como false, o construtor escapará de todos os caracteres reservados verificando se todas as ocorrências de porcentagem (%) são seguidas por uma sequência de escape válida. Se a sequência de caracteres após uma porcentagem não for válida, a porcentagem será substituída por %25.

Esse construtor não garante que o Uri se refira a um recurso acessível.

Notas aos Chamadores

Devido a problemas de segurança, seu aplicativo não deve chamar esse construtor com cadeias de caracteres de URI de fontes não confiáveis e com dontEscape definido como true. Como alternativa, você pode verificar a validade de uma cadeia de caracteres de URI chamando o método IsWellFormedOriginalString() antes de chamar esse construtor.

Aplica-se a

.NET 9 e outras versões
Produto Versões (Obsoleto)
.NET (Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9)
.NET Framework 1.1 (2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1)
.NET Standard (2.0, 2.1)