Uri Constructores
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 true
en .
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 false
en .
Si dontEscape
se establece false
en , 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
- 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.htm
absoluto .
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)
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
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 , combinedUri
a 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 false
en , 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.