Uri Constructores

Definición

Inicializa una nueva instancia de la clase Uri.

Sobrecargas

Uri(String)

Inicializa una nueva instancia de la clase Uri con el identificador URI especificado.

Uri(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase Uri desde las instancias especificadas de las clases SerializationInfo y StreamingContext.

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

Inicializa una nueva instancia de la clase Uri con el identificador URI especificado, con control explícito de la secuencia de escape de carácter.

Uri(String, UriCreationOptions)

Inicializa una nueva instancia de la Uri clase con el URI especificado y el adicional UriCreationOptions.

Uri(String, UriKind)

Inicializa una nueva instancia de la clase Uri con el identificador URI especificado. Este constructor permite especificar si la cadena URI corresponde a un identificador URI relativo, a un identificador URI absoluto, o si está sin determinar.

Uri(Uri, String)

Inicializa una nueva instancia de la clase Uri basada en la cadena especificada de identificador URI base y relativo.

Uri(Uri, Uri)

Inicializa una nueva instancia de la clase Uri basada en la combinación de una instancia especificada de Uri base y una instancia de Uri relativo.

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

Inicializa una nueva instancia de la clase Uri basada en los identificadores URI base y relativo especificados, con control explícito de la secuencia de escape de carácter.

Uri(String)

Inicializa una nueva instancia de la clase Uri con el identificador URI especificado.

public:
 Uri(System::String ^ uriString);
public Uri (string uriString);
new Uri : string -> Uri
Public Sub New (uriString As String)

Parámetros

uriString
String

Cadena que identifica el recurso que la instancia de Uri va a representar. Tenga en cuenta que las direcciones IPv6 en forma de cadena deben indicarse entre corchetes. Por ejemplo, "http://[2607:f8b0:400d:c06::69]".

Excepciones

uriString es null.

Nota: En las aplicaciones .NET para la Tienda Windows o la Biblioteca de clases portable, capture en su lugar la excepción de clase base, FormatException.

uriString está vacía.

o bien

El esquema especificado en uriString no está formado correctamente. Vea CheckSchemeName(String).

o bien

uriString contiene demasiadas barras diagonales.

o bien

La contraseña especificada en uriString no es válida.

o bien

El nombre de host especificado en uriString no es válido.

o bien

El nombre de archivo especificado en uriString no es válido.

o bien

El nombre de usuario especificado en uriString no es válido.

o bien

El nombre de host o de autoridad especificado en uriString no puede terminar con barras diagonales inversas.

o bien

El número de puerto especificado en uriString no es válido o no se puede analizar.

o bien

La longitud de uriString supera los 65 519 caracteres.

o bien

La longitud del esquema especificado en uriString supera los 1023 caracteres.

o bien

Existe una secuencia de caracteres no válida en uriString.

o bien

La ruta de acceso a MS-DOS especificada en uriString debe comenzar por c:\\.

Ejemplos

En el ejemplo siguiente se crea una Uri instancia con el URI http://www.contoso.com/.

Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri myUri = new Uri("http://www.contoso.com/");
let myUri = Uri "http://www.contoso.com/"
Dim myUri As New Uri("http://www.contoso.com/")

Comentarios

Este constructor crea una Uri instancia a partir de una cadena de URI. Analiza el URI, lo coloca en formato canónico y hace que las codificaciones de escape necesarias.

Este constructor no garantiza que haga Uri referencia a un recurso accesible.

Este constructor supone que el string parámetro hace referencia a un URI absoluto y equivale a llamar al Uri constructor con UriKind establecido en Absolute. Si el string parámetro pasado al constructor es un URI relativo, este constructor producirá una UriFormatExceptionexcepción .

Se aplica a

Uri(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase Uri desde las instancias especificadas de las clases SerializationInfo y StreamingContext.

protected:
 Uri(System::Runtime::Serialization::SerializationInfo ^ serializationInfo, System::Runtime::Serialization::StreamingContext streamingContext);
protected Uri (System.Runtime.Serialization.SerializationInfo serializationInfo, System.Runtime.Serialization.StreamingContext streamingContext);
new Uri : System.Runtime.Serialization.SerializationInfo * System.Runtime.Serialization.StreamingContext -> Uri
Protected Sub New (serializationInfo As SerializationInfo, streamingContext As StreamingContext)

Parámetros

serializationInfo
SerializationInfo

Instancia de la clase SerializationInfo que contiene la información necesaria para serializar la nueva instancia de Uri.

streamingContext
StreamingContext

Instancia de la clase StreamingContext que contiene el origen del flujo serializado asociado a la nueva instancia de Uri.

Excepciones

El parámetro serializationInfo contiene un URI null.

El serializationInfo parámetro contiene un URI que está vacío.

o bien

El esquema especificado no tiene el formato correcto. Vea CheckSchemeName(String).

o bien

El URI contiene demasiadas barras diagonales.

o bien

La contraseña especificada en el URI no es válida.

o bien

El nombre de host especificado en el URI no es válido.

o bien

El nombre de archivo especificado en el URI no es válido.

o bien

El nombre de usuario especificado en el URI no es válido.

o bien

El nombre de host o de autoridad especificado en el URI no puede terminar con barras diagonales inversas.

o bien

El número de puerto especificado en el URI no es válido o no se puede analizar.

o bien

La longitud del URI supera los 65 519 caracteres.

o bien

La longitud del esquema especificado en el URI supera los 1023 caracteres.

o bien

Existe una secuencia de caracteres no válida en el URI.

o bien

La ruta de acceso a MS-DOS especificada en el URI debe comenzar por c:\\.

Comentarios

Este constructor implementa la ISerializable interfaz de la Uri clase .

Consulte también

Se aplica a

Uri(String, Boolean)

Precaución

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

Precaución

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

Precaución

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 una nueva instancia de la clase Uri con el identificador URI especificado, con control explícito de la secuencia de escape de carácter.

public:
 Uri(System::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. 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);
[<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")>]
new Uri : string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(string) instead.")>]
new Uri : string * bool -> Uri
[<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")>]
new Uri : string * bool -> Uri
new Uri : string * bool -> Uri
Public Sub New (uriString As String, dontEscape As Boolean)

Parámetros

uriString
String

Cadena que identifica el recurso que la instancia de Uri va a representar. Tenga en cuenta que las direcciones IPv6 en forma de cadena deben indicarse entre corchetes. Por ejemplo, "http://[2607:f8b0:400d:c06::69]".

dontEscape
Boolean

Es true si uriString es totalmente de escape; en caso contrario, es false.

Atributos

Excepciones

uriString es null.

uriString está vacío o sólo contiene espacios.

o bien

El esquema especificado en uriString no es válido.

o bien

uriString contiene demasiadas barras diagonales.

o bien

La contraseña especificada en uriString no es válida.

o bien

El nombre de host especificado en uriString no es válido.

o bien

El nombre de archivo especificado en uriString no es válido.

o bien

El nombre de usuario especificado en uriString no es válido.

o bien

El nombre de host o de autoridad especificado en uriString no puede terminar con barras diagonales inversas.

o bien

El número de puerto especificado en uriString no es válido o no se puede analizar.

o bien

La longitud de uriString supera los 65 519 caracteres.

o bien

La longitud del esquema especificado en uriString supera los 1023 caracteres.

o bien

Existe una secuencia de caracteres no válida en uriString.

o bien

La ruta de acceso a MS-DOS especificada en uriString debe comenzar por c:\\.

Ejemplos

En el ejemplo siguiente se crea una Uri instancia para el URI http://www.contoso.com/Hello%20World.htm. Dado que el URI contenido está completamente con escape y está en forma canónica, el dontEscape parámetro se puede establecer trueen .

Uri^ myUri = gcnew Uri(  "http://www.contoso.com/Hello%20World.htm",true );
Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);
let myUri = Uri("http://www.contoso.com/Hello%20World.htm", true)
Dim myUri As New Uri("http://www.contoso.com/Hello%20World.htm", True)

Comentarios

Este constructor crea una Uri instancia a partir de una cadena de URI. Analiza el URI y lo coloca en formato canónico.

El dontEscape parámetro controla si los caracteres reservados se traducen en secuencias de escape. Este parámetro debe establecerse true en solo si está seguro de que todos los caracteres reservados del URI se han escape. Establecer el valor en true para un URI que no se ha escape por completo puede provocar un comportamiento inesperado. Se recomienda encarecidamente establecer siempre este parámetro falseen .

Si dontEscape se establece falseen , el constructor aplica un escape a los caracteres reservados comprobando que todas las apariciones del porcentaje (%) van seguidas de una secuencia de escape válida. Si la secuencia de caracteres que sigue a un porcentaje no es válida, el porcentaje se reemplaza por %25.

Este constructor no garantiza que haga Uri referencia a un recurso accesible.

Se aplica a

Uri(String, UriCreationOptions)

Inicializa una nueva instancia de la Uri clase con el URI especificado y el adicional UriCreationOptions.

public:
 Uri(System::String ^ uriString, UriCreationOptions % creationOptions);
public Uri (string uriString, in UriCreationOptions creationOptions);
new Uri : string * UriCreationOptions -> Uri
Public Sub New (uriString As String, ByRef creationOptions As UriCreationOptions)

Parámetros

uriString
String

Cadena que identifica el recurso que la instancia de Uri va a representar.

creationOptions
UriCreationOptions

Opciones que controlan cómo Uri se crea y se comporta.

Se aplica a

Uri(String, UriKind)

Inicializa una nueva instancia de la clase Uri con el identificador URI especificado. Este constructor permite especificar si la cadena URI corresponde a un identificador URI relativo, a un identificador URI absoluto, o si está sin determinar.

public:
 Uri(System::String ^ uriString, UriKind uriKind);
public Uri (string uriString, UriKind uriKind);
new Uri : string * UriKind -> Uri
Public Sub New (uriString As String, uriKind As UriKind)

Parámetros

uriString
String

Cadena que identifica el recurso que la instancia de Uri va a representar. Tenga en cuenta que las direcciones IPv6 en forma de cadena deben indicarse entre corchetes. Por ejemplo, "http://[2607:f8b0:400d:c06::69]".

uriKind
UriKind

Especifica si la cadena URI es un identificador URI relativo, un identificador URI absoluto, o si está sin determinar.

Excepciones

uriKind no es válido.

uriString es null.

Nota: En las aplicaciones .NET para la Tienda Windows o la Biblioteca de clases portable, capture en su lugar la excepción de clase base, FormatException.

uriString contiene un URI relativo y uriKind es Absolute.

o

uriString contiene un URI absoluto y uriKind es Relative.

o

uriString está vacía.

o bien

El esquema especificado en uriString no está formado correctamente. Vea CheckSchemeName(String).

o bien

uriString contiene demasiadas barras diagonales.

o bien

La contraseña especificada en uriString no es válida.

o bien

El nombre de host especificado en uriString no es válido.

o bien

El nombre de archivo especificado en uriString no es válido.

o bien

El nombre de usuario especificado en uriString no es válido.

o bien

El nombre de host o de autoridad especificado en uriString no puede terminar con barras diagonales inversas.

o bien

El número de puerto especificado en uriString no es válido o no se puede analizar.

o bien

La longitud de uriString supera los 65 519 caracteres.

o bien

La longitud del esquema especificado en uriString supera los 1023 caracteres.

o bien

Existe una secuencia de caracteres no válida en uriString.

o bien

La ruta de acceso a MS-DOS especificada en uriString debe comenzar por c:\\.

Comentarios

Los URI relativos y absolutos tienen restricciones diferentes en su formato. Por ejemplo, un URI relativo no requiere un esquema ni una autoridad. El valor especificado en uriKind debe coincidir con el tipo de URI pasado en uriString. Sin embargo, si RelativeOrAbsolute se especifica , la cadena de URI puede ser relativa o absoluta.

Se aplica a

Uri(Uri, String)

Inicializa una nueva instancia de la clase Uri basada en la cadena especificada de identificador URI base y relativo.

public:
 Uri(Uri ^ baseUri, System::String ^ relativeUri);
public Uri (Uri baseUri, string relativeUri);
public Uri (Uri baseUri, string? relativeUri);
new Uri : Uri * string -> Uri
Public Sub New (baseUri As Uri, relativeUri As String)

Parámetros

baseUri
Uri

Identificador URI base.

relativeUri
String

Identificador URI relativo que se va a agregar al identificador URI base.

Excepciones

baseUri es null.

baseUri no es una instancia Uri absoluta.

Nota: En las aplicaciones .NET para la Tienda Windows o la Biblioteca de clases portable, capture en su lugar la excepción de clase base, FormatException.

El URI formado mediante la combinación de baseUri y relativeUri está vacío o solo contiene espacios en blanco.

o bien

El esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El URI formado mediante la combinación de baseUri y relativeUri contiene demasiadas barras diagonales.

o bien

La contraseña especificada en el URI formado mediante la combinación de baseUri y relativeUri no es válida.

o bien

El nombre de host especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El nombre de archivo especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El nombre de usuario especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El nombre de host o de autoridad especificado en el URI formado mediante la combinación de baseUri y relativeUri no puede terminar con barras diagonales inversas.

o bien

El número de puerto especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido o no se puede analizar.

o bien

La longitud del URI formado mediante la combinación de baseUri y relativeUri supera los 65519 caracteres.

o bien

La longitud del esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri supera los 1023 caracteres.

o bien

Hay una secuencia de caracteres no válida en el URI formado mediante la combinación baseUri y relativeUri.

o bien

La ruta de acceso a MS-DOS especificada en uriString debe comenzar por c:\\.

Ejemplos

En el ejemplo siguiente se crea una nueva instancia de la Uri clase combinando los URI relativos http://www.contoso.com y catalog/shownew.htm para formar el URI http://www.contoso.com/catalog/shownew.htmabsoluto .

Uri^ baseUri = gcnew Uri(  "http://www.contoso.com" );
Uri^ myUri = gcnew Uri( baseUri, "catalog/shownew.htm" );
Console::WriteLine( myUri->ToString() );
Uri baseUri = new Uri("http://www.contoso.com");
 Uri myUri = new Uri(baseUri, "catalog/shownew.htm");

Console.WriteLine(myUri.ToString());
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "catalog/shownew.htm")

printfn $"{myUri}"
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "catalog/shownew.htm")

Console.WriteLine(myUri.ToString())

Comentarios

Este constructor crea una Uri instancia combinando y baseUri relativeUri. Si relativeUri es un URI absoluto (que contiene un esquema, un nombre de host y, opcionalmente, un número de puerto), la Uri instancia se crea con solo relativeUri.

Si tiene baseUri partes relativas (como /api), la parte relativa debe terminarse con una barra diagonal (como /api/), si la parte relativa de baseUri se va a conservar en el construido Uri.

Además, si relativeUri comienza con una barra diagonal, reemplazará cualquier parte relativa de . baseUri

Este constructor no garantiza que haga Uri referencia a un recurso accesible.

Se aplica a

Uri(Uri, Uri)

Inicializa una nueva instancia de la clase Uri basada en la combinación de una instancia especificada de Uri base y una instancia de Uri relativo.

public:
 Uri(Uri ^ baseUri, Uri ^ relativeUri);
public Uri (Uri baseUri, Uri relativeUri);
new Uri : Uri * Uri -> Uri
Public Sub New (baseUri As Uri, relativeUri As Uri)

Parámetros

baseUri
Uri

Uri absoluto que es la base de la nueva instancia de Uri.

relativeUri
Uri

Instancia de Uri relativo que se combina con baseUri.

Excepciones

baseUri no es una instancia Uri absoluta.

baseUri es null.

baseUri no es una instancia Uri absoluta.

Nota: En las aplicaciones .NET para la Tienda Windows o la Biblioteca de clases portable, capture en su lugar la excepción de clase base, FormatException.

El URI formado mediante la combinación de baseUri y relativeUri está vacío o solo contiene espacios en blanco.

o bien

El esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El URI formado mediante la combinación de baseUri y relativeUri contiene demasiadas barras diagonales.

o bien

La contraseña especificada en el URI formado mediante la combinación de baseUri y relativeUri no es válida.

o bien

El nombre de host especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El nombre de archivo especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El nombre de usuario especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El nombre de host o de autoridad especificado en el URI formado mediante la combinación de baseUri y relativeUri no puede terminar con barras diagonales inversas.

o bien

El número de puerto especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido o no se puede analizar.

o bien

La longitud del URI formado mediante la combinación de baseUri y relativeUri supera los 65519 caracteres.

o bien

La longitud del esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri supera los 1023 caracteres.

o bien

Hay una secuencia de caracteres no válida en el URI formado mediante la combinación baseUri y relativeUri.

o bien

La ruta de acceso a MS-DOS especificada en uriString debe comenzar por c:\\.

Ejemplos

En este ejemplo se crea una instancia absoluta Uri , absoluteUri, y una instancia relativa Uri , relativeUri. A continuación, se crea una nueva Uri instancia de , combinedUria partir de estas dos instancias.

// Create an absolute Uri from a string.
String^ addressString1 = "http://www.contoso.com/";
String^ addressString2 = "catalog/shownew.htm?date=today";
Uri^ absoluteUri = gcnew Uri(addressString1);

// Create a relative Uri from a string.  allowRelative = true to allow for 
// creating a relative Uri.
Uri^ relativeUri = gcnew Uri(addressString2);

// 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 = gcnew Uri( absoluteUri,relativeUri );
Console::WriteLine( combinedUri->AbsoluteUri );
// 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);
// Create an absolute Uri from a string.
let absoluteUri = Uri "http://www.contoso.com/"

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

// Check whether the new Uri is absolute or relative.
if not relativeUri.IsAbsoluteUri then
    printfn $"{relativeUri} is a relative Uri."

// Create a new Uri from an absolute Uri and a relative Uri.
let combinedUri = Uri(absoluteUri, relativeUri)
printfn $"{combinedUri.AbsoluteUri}"
    ' Create an absolute Uri from a string.
    Dim absoluteUri As New Uri("http://www.contoso.com/")
    
    ' Create a relative Uri from a string.  allowRelative = true to allow for 
    ' creating a relative Uri.
    Dim relativeUri As New Uri("/catalog/shownew.htm?date=today")
    
    ' Check whether the new Uri is absolute or relative.
    If Not relativeUri.IsAbsoluteUri Then
        Console.WriteLine("{0} is a relative Uri.", relativeUri)
    End If 
    ' Create a new Uri from an absolute Uri and a relative Uri.
    Dim combinedUri As New Uri(absoluteUri, relativeUri)
    Console.WriteLine(combinedUri.AbsoluteUri)

End Sub

Comentarios

Este constructor crea una nueva Uri instancia combinando una instancia absoluta Uri , baseUri, con una instancia relativa Uri , relativeUri. Si relativeUri es una instancia absoluta Uri (que contiene un esquema, un nombre de host y, opcionalmente, un número de puerto), la Uri instancia se crea solo con relativeUri.

Si tiene baseUri partes relativas (como /api), la parte relativa debe terminarse con una barra diagonal (como /api/), si la parte relativa de baseUri se va a conservar en el construido Uri.

Además, si relativeUri comienza con una barra diagonal, reemplazará cualquier parte relativa de . baseUri

Este constructor no garantiza que haga Uri referencia a un recurso accesible.

Se aplica a

Uri(Uri, String, Boolean)

Precaución

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

Precaución

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

Precaución

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 una nueva instancia de la clase Uri basada en los identificadores URI base y relativo especificados, con control explícito de la secuencia de escape de carácter.

public:
 Uri(Uri ^ baseUri, System::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);
[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);
[<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")>]
new Uri : Uri * string * bool -> Uri
[<System.Obsolete("This constructor has been deprecated; the dontEscape parameter is always false. Use Uri(Uri, string) instead.")>]
new Uri : Uri * string * bool -> Uri
[<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")>]
new Uri : Uri * string * bool -> Uri
new Uri : Uri * string * bool -> Uri
Public Sub New (baseUri As Uri, relativeUri As String, dontEscape As Boolean)

Parámetros

baseUri
Uri

Identificador URI base.

relativeUri
String

Identificador URI relativo que se va a agregar al identificador URI base.

dontEscape
Boolean

Es true si uriString es totalmente de escape; en caso contrario, es false.

Atributos

Excepciones

baseUri es null.

baseUri no es una instancia Uri absoluta.

El URI formado mediante la combinación de baseUri y relativeUri está vacío o solo contiene espacios en blanco.

o bien

El esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El URI formado mediante la combinación de baseUri y relativeUri contiene demasiadas barras diagonales.

o bien

La contraseña especificada en el URI formado mediante la combinación de baseUri y relativeUri no es válida.

o bien

El nombre de host especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El nombre de archivo especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El nombre de usuario especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido.

o bien

El nombre de host o de autoridad especificado en el URI formado mediante la combinación de baseUri y relativeUri no puede terminar con barras diagonales inversas.

o bien

El número de puerto especificado en el URI formado mediante la combinación de baseUri y relativeUri no es válido o no se puede analizar.

o bien

La longitud del URI formado mediante la combinación de baseUri y relativeUri supera los 65519 caracteres.

o bien

La longitud del esquema especificado en el URI formado mediante la combinación de baseUri y relativeUri supera los 1023 caracteres.

o bien

Hay una secuencia de caracteres no válida en el URI formado mediante la combinación baseUri y relativeUri.

o bien

La ruta de acceso a MS-DOS especificada en uriString debe comenzar por c:\\.

Ejemplos

En el ejemplo siguiente se crea una nueva instancia de la Uri clase combinando los URI relativos http://www.contoso.com y Hello%20World.htm para formar un URI absoluto.

Uri^ baseUri = gcnew Uri( "http://www.contoso.com/" );
Uri^ myUri = gcnew Uri( baseUri,"Hello%20World.htm",false );
Uri baseUri = new Uri("http://www.contoso.com");
Uri myUri = new Uri(baseUri, "Hello%20World.htm",false);
let baseUri = Uri "http://www.contoso.com"
let myUri = Uri(baseUri, "Hello%20World.htm", false)
Dim baseUri As New Uri("http://www.contoso.com")
Dim myUri As New Uri(baseUri, "Hello%20World.htm", False)

Comentarios

Este constructor crea una Uri instancia mediante baseUri la combinación de y relativeUri. Si el URI pasado es relativeUri un URI absoluto (que contiene un esquema, un nombre de host y, opcionalmente, un número de puerto), la Uri instancia se crea con solo relativeUri.

El dontEscape parámetro controla si los caracteres reservados se traducen en secuencias de escape. Este parámetro debe establecerse true en solo si está seguro de que se han escape todos los caracteres reservados del URI. Establecer el valor true en para un URI que no se ha escape por completo puede provocar un comportamiento inesperado. Se recomienda encarecidamente establecer siempre este parámetro en false. Si dontEscape se establece falseen , el constructor escapa de los caracteres reservados comprobando que todas las apariciones del porcentaje (%) van seguidas de una secuencia de escape válida. Si la secuencia de caracteres que sigue a un porcentaje no es válida, el porcentaje se reemplaza por %25.

Este constructor no garantiza que haga Uri referencia a un recurso accesible.

Notas a los autores de las llamadas

Debido a problemas de seguridad, la aplicación no debe llamar a este constructor con cadenas de URI de orígenes que no son de confianza y con dontEscape establecido en true. Como alternativa, puede comprobar una cadena de URI para comprobar la validez llamando al IsWellFormedOriginalString() método antes de llamar a este constructor.

Se aplica a