Uri Uri Uri Uri Class

Definición

Proporciona una representación de objeto de un identificador de recursos uniforme (URI) y un acceso sencillo a las partes del identificador URI.Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.

public ref class Uri : System::Runtime::Serialization::ISerializable
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
[System.Serializable]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
    interface ISerializable
Public Class Uri
Implements ISerializable
Herencia
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se crea una instancia de la Uri clase y se utiliza para crear un WebRequest instancia.The following example creates an instance of the Uri class and uses it to create a WebRequest instance.

Uri^ siteUri = gcnew Uri( "http://www.contoso.com/" );
WebRequest^ wr = WebRequest::Create( siteUri );
Uri siteUri = new Uri("http://www.contoso.com/");
 
WebRequest wr = WebRequest.Create(siteUri);

Dim siteUri As New Uri("http://www.contoso.com/")
        
Dim wr As WebRequest = WebRequest.Create(siteUri)

Comentarios

Un URI es una representación compacta de un recurso disponible para la aplicación en la intranet o Internet.A URI is a compact representation of a resource available to your application on the intranet or Internet. La Uri clase define las propiedades y métodos para controlar los URI, que se incluyen análisis, la comparación y combinación.The Uri class defines the properties and methods for handling URIs, including parsing, comparing, and combining. El Uri propiedades de la clase son de solo lectura; para crear un objeto modificable, use la UriBuilder clase.The Uri class properties are read-only; to create a modifiable object, use the UriBuilder class.

Los identificadores URI relativos (por ejemplo, "/ /New/index.htm") debe ampliarse con respecto a un URI base para que sean absolutas.Relative URIs (for example, "/new/index.htm") must be expanded with respect to a base URI so that they are absolute. El MakeRelative se proporciona el método para convertir los identificadores URI absolutos en identificadores URI relativos, cuando sea necesario.The MakeRelative method is provided to convert absolute URIs to relative URIs when necessary.

El Uri constructores no convierte las cadenas URI si la cadena es un URI bien formado incluye un identificador de esquema.The Uri constructors do not escape URI strings if the string is a well-formed URI including a scheme identifier.

El Uri propiedades devuelven una representación de datos canónicos en codificación de escape, y todos los caracteres con valores de Unicode mayores que 127 se reemplazan por su equivalente hexadecimal.The Uri properties return a canonical data representation in escaped encoding, with all characters with Unicode values greater than 127 replaced with their hexadecimal equivalents. Para poner el identificador URI en forma canónica, la Uri constructor realiza los pasos siguientes:To put the URI in canonical form, the Uri constructor performs the following steps:

  • El esquema de URI se convierte a minúsculas.Converts the URI scheme to lowercase.

  • El nombre de host se convierte a minúsculas.Converts the host name to lowercase.

  • Si el nombre de host es una dirección IPv6, se usa la dirección IPv6 canónica.If the host name is an IPv6 address, the canonical IPv6 address is used. Se quitan ScopeId y otros datos opcionales de IPv6.ScopeId and other optional IPv6 data are removed.

  • Quita de forma predeterminada y los números de puerto vacío.Removes default and empty port numbers.

  • Convierte las rutas de acceso de archivo implícito sin el esquema file:// (por ejemplo, "C:\my\file") en rutas de acceso explícita con el esquema file://.Converts implicit file paths without the file:// scheme (for example, "C:\my\file") to explicit file paths with the file:// scheme.

  • Descodificación de caracteres de escape (también conocido como octetos codificados por porcentaje) que no tienen un propósito reservado (también conocido como sin escape).Escaped characters (also known as percent-encoded octets) that don't have a reserved purpose are decoded (also known as being unescaped). Estos caracteres reservados se encuentran en mayúsculas y minúsculas (% 41-% 5A y % 61-% 7), los dígitos decimales (30-% 39), guión (% 2D), el período (% 2E), un carácter de subrayado (% 5F) y tilde (% 7E).These unreserved characters include uppercase and lowercase letters (%41-%5A and %61-%7A), decimal digits (%30-%39), hyphen (%2D), period (%2E), underscore (%5F), and tilde (%7E).

  • Canoniza la ruta de acceso para un URI jerárquico mediante la compactación de secuencias como /., / /... /, y / / (si la secuencia de escape).Canonicalizes the path for hierarchical URIs by compacting sequences such as /./, /../, and // (whether or not the sequence is escaped). Tenga en cuenta que hay algunos esquemas para los que no se compactan estas secuencias.Note that there are some schemes for which these sequences are not compacted.

  • Para los identificadores URI jerárquico, si el host no se termina con una barra diagonal (/), se agrega uno.For hierarchical URIs, if the host is not terminated with a forward slash (/), one is added.

  • De forma predeterminada, los caracteres reservados en el URI se escapan RFC 2396.By default, any reserved characters in the URI are escaped in accordance with RFC 2396. Este comportamiento cambia si está habilitado el análisis de identificadores internacionales de recursos o nombre de dominio internacional en qué caso los caracteres reservados en el URI se escapan con arreglo a RFC 3986 y RFC 3987.This behavior changes if International Resource Identifiers or International Domain Name parsing is enabled in which case reserved characters in the URI are escaped in accordance with RFC 3986 and RFC 3987.

Como parte de canonización en el constructor para algunos esquemas, segmentos de punto y vacío (o., / /.. /, y / /) se compactan (en otras palabras, se eliminan).As part of canonicalization in the constructor for some schemes, dot-segments and empty segments (/./, /../, and //) are compacted (in other words, they are removed). Los esquemas para los que el URI compactará estas secuencias son http, https, tcp, net.pipe y net.tcp.The schemes for which URI will compact these sequences include http, https, tcp, net.pipe, and net.tcp. Para algunos otros esquemas, no se compactan estas secuencias.For some other schemes, these sequences are not compacted. Aquí es cómo esta compactación se ve en la práctica.Here's how this compacting looks in practice.

var uri = new Uri("http://myUrl/../.."); // http scheme, unescaped
OR
var uri = new Uri("http://myUrl/%2E%2E/%2E%2E"); // http scheme, escaped
OR
var uri = new Uri("ftp://myUrl/../.."); // ftp scheme, unescaped
OR
var uri = new Uri("ftp://myUrl/%2E%2E/%2E%2E"); // ftp scheme, escaped

Console.WriteLine(uri.AbsoluteUri);  
Console.WriteLine(uri.PathAndQuery);  

Cuando se ejecuta este código, devuelve el resultado siguiente, con las secuencias de escape escape en caso necesario y, a continuación, se compactan.When this code is executed, it returns the following output, with the escaped sequences unescaped if necessary and then compacted.

http://myUrl/  
/  

Puede transformar el contenido de la Uri clase a partir de una referencia de URI codificada de escape en una referencia URI legible utilizando el ToString método.You can transform the contents of the Uri class from an escape encoded URI reference to a readable URI reference by using the ToString method. Tenga en cuenta que algunos caracteres reservados aún pueden convertirse en la salida de la ToString método.Note that some reserved characters might still be escaped in the output of the ToString method. Esto es para facilitar la reconstrucción inequívoca de un identificador URI del valor devuelto por ToString.This is to support unambiguous reconstruction of a URI from the value returned by ToString.

Algunos identificadores URI incluyen una consulta o un identificador de fragmento.Some URIs include a fragment identifier or a query or both. Un identificador de fragmento es cualquier texto que sigue a un signo de número (#), sin incluir el signo de número; el texto del fragmento se almacena en el Fragment propiedad.A fragment identifier is any text that follows a number sign (#), not including the number sign; the fragment text is stored in the Fragment property. Información de consulta es cualquier texto que sigue a un signo de interrogación (?) en el URI; el texto de consulta se almacena en el Query propiedad.Query information is any text that follows a question mark (?) in the URI; the query text is stored in the Query property.

En .NET Framework versión 1.1, si la cadena especificada a un constructor contiene un esquema desconocido y "c:\", las inserciones de la clase Uri "/ /" después de los dos puntos.In the .NET Framework version 1.1, if the string specified to a constructor contains an unknown scheme and "c:\", the Uri class inserts "//" after the colon. Por ejemplo, el URI xyz:c:\abc se convierte en xyz://c:/abc.For example, the URI xyz:c:\abc is converted to xyz://c:/abc. En la versión 2.0 de .NET Framework, este comportamiento se ha eliminado y el ejemplo de cadena se convierte en xyz:c:/abc.In the .NET Framework version 2.0, this behavior has been removed, and the example string is converted to xyz:c:/abc.

Nota

La clase URI admite el uso de direcciones IP en ambas notación de cuatro para el protocolo IPv4 y hexadecimal con dos puntos para el protocolo IPv6.The URI class supports the use of IP addresses in both quad-notation for IPv4 protocol and colon-hexadecimal for IPv6 protocol. No olvide incluir la dirección IPv6 en los corchetes, como en http://[::1].Remember to enclose the IPv6 address in square brackets, as in http://[::1].

Compatibilidad de identificadores internacionales de recursosInternational Resource Identifier Support

Las direcciones Web normalmente se expresan mediante identificadores uniformes de recursos que se componen de un conjunto muy restringido de caracteres:Web addresses are typically expressed using uniform resource identifiers that consist of a very restricted set of characters:

  • Letras ASCII mayúsculas y minúsculas del alfabeto inglés.Upper and lower case ASCII letters from the English alphabet.

  • Dígitos del 0 al 9.Digits from 0 to 9.

  • Un número reducido de otros símbolos ASCII.A small number of other ASCII symbols.

Las especificaciones de los URI se documentan en RFC 2396, RFC 2732, RFC 3986 y RFC 3987, publicado por Internet Engineering Task Force (IETF).The specifications for URIs are documented in RFC 2396, RFC 2732, RFC 3986, and RFC 3987 published by the Internet Engineering Task Force (IETF).

Debido a la expansión de Internet, hay una creciente necesidad de identificar los recursos mediante el uso de idiomas distintos del inglés.With the growth of the Internet, there is a growing need to identify resources using languages other than English. Los identificadores que responden a esta necesidad y permiten caracteres que no son ASCII (caracteres del juego de caracteres Unicode/ISO 10646) se conocen como Identificadores de recursos internacionales (IRI).Identifiers which facilitate this need and allow non-ASCII characters (characters in the Unicode/ISO 10646 character set) are known as International Resource Identifiers (IRIs). Las especificaciones de los IRI están documentadas en RFC 3987, publicado por el IETF.The specifications for IRIs are documented in RFC 3987 published by IETF. El uso de IRI permite que una dirección URL contenga caracteres Unicode.Using IRIs allows a URL to contain Unicode characters.

Existente Uri se ha ampliado la clase en .NET Framework 3.5, 3.0 SP1 y 2.0 SP1 para proporcionar compatibilidad con IRI basada en RFC 3987.The existing Uri class has been extended in .NET Framework v3.5, 3.0 SP1, and 2.0 SP1 to provide IRI support based on RFC 3987. Los usuarios de versiones de .NET Framework anteriores a la versión 4.5 no verán ningún cambio respecto al comportamiento de .NET Framework 2.0, a menos que habiliten IRI específicamente.Users of .NET Framework versions before version 4.5 will not see any change from the .NET Framework 2.0 behavior unless they specifically enable IRI. Esto garantiza la compatibilidad de las aplicaciones con versiones anteriores de .NET Framework.This ensures application compatibility with prior versions of the .NET Framework.

Para habilitar la compatibilidad con IRI, se requiere el cambio siguiente:To enable support for IRI, the following change is required:

  • Especifique si desea analizar el nombre de dominio internacionalizado (IDN) aplicado en el nombre de dominio y si debe aplicarse las reglas de análisis de IRI.Specify whether you want Internationalized Domain Name (IDN) parsing applied to the domain name and whether IRI parsing rules should be applied. Esto puede hacerse el machine.config o en el app.config archivo.This can be done in the machine.config or in the app.config file. Por ejemplo, agregue lo siguiente:For example, add the following:

    <configuration>  
      <uri>  
      <idn enabled="All" />  
      <iriParsing enabled="true" />  
      </uri>  
    </configuration>  
    

Los usuarios de .NET Framework 4.5 y versiones más recientes siempre tienen IRI habilitado.Users of .NET Framework 4.5 and newer always have IRI enabled. Análisis de IRI no puede cambiarse mediante una .config archivo.IRI parsing cannot be changed using a .config file.

La activación de IDN convertirá todas la etiquetas Unicode de un nombre de dominio en sus equivalentes de Punycode.Enabling IDN will convert all Unicode labels in a domain name to their Punycode equivalents. Los nombres de Punycode solo contienen caracteres ASCII y siempre empiezan con el prefijo xn--.Punycode names contain only ASCII characters and always start with the xn-- prefix. De este modo, se admiten los servidores DNS existentes en Internet, ya que la mayoría de los servidores DNS solo admite caracteres ASCII (vea RFC 3940).The reason for this is to support existing DNS servers on the Internet, since most DNS servers only support ASCII characters (see RFC 3940).

La activación de IRI e IDN afecta al valor de la propiedad Uri.DnsSafeHost.Enabling IRI and IDN affects the value of the Uri.DnsSafeHost property. Cuando se habilitan IRI e IDN, también puede cambiar el comportamiento de los métodos Equals, OriginalString, GetComponents y IsWellFormedOriginalString.Enabling IRI and IDN can also change the behavior of the Equals, OriginalString, GetComponents, and IsWellFormedOriginalString methods.

Hay tres valores posibles para IDN dependiendo de los servidores DNS que se usan:There are three possible values for IDN depending on the DNS servers that are used:

  • IDN habilitado = Allidn enabled = All

    Este valor convierte cualquier nombre de dominio Unicode a su equivalente Punycode (nombres IDN).This value will convert any Unicode domain names to their Punycode equivalents (IDN names).

  • IDN habilitado = AllExceptIntranetidn enabled = AllExceptIntranet

    Este valor convertirá todos los nombres de dominio Unicode no en la Intranet local para que utilicen sus equivalentes Punycode (nombres IDN).This value will convert all Unicode domain names not on the local Intranet to use the Punycode equivalents (IDN names). En este caso para controlar los nombres internacionales en la Intranet local, los servidores DNS que se usan para la Intranet deben admitir la resolución de nombre de Unicode.In this case to handle international names on the local Intranet, the DNS servers that are used for the Intranet should support Unicode name resolution.

  • IDN habilitado = ningunoidn enabled = None

    Este valor no convierte ningún nombre de dominio Unicode para que se use Punycode.This value will not convert any Unicode domain names to use Punycode. Este es el valor predeterminado que es coherente con el comportamiento de .NET Framework 2.0.This is the default value which is consistent with the .NET Framework 2.0 behaviour.

Cuando se habilita el análisis de IRI (iriParsing habilitado = true) se realizan la normalización y comprobación de caracteres según las últimas reglas IRI en RFC 3986 y RFC 3987.When IRI parsing is enabled (iriParsing enabled = true) normalization and character checking are done according to the latest IRI rules in RFC 3986 and RFC 3987. Cuando se deshabilita el análisis de IRI, normalización y comprobación de caracteres se realizan según RFC 2396 y RFC 2732 (para literales de IPv6).When IRI parsing is disabled, normalization and character checking are performed according to RFC 2396 and RFC 2732 (for IPv6 literals). En las versiones de .NET Framework anteriores a la versión 4.5, el valor predeterminado es false.In versions of the .NET Framework before version 4.5, the default value is false. En .NET Framework versión 4.5 y versiones más reciente, el valor predeterminado es true, y el estado habilitado del análisis de IRI no se puede modificar la configuración de un .config archivo.In .NET Framework version 4.5 and newer, the default value is true, and the enabled state of IRI parsing cannot be modified by settings in a .config file.

IRI e IDN procesamiento en el Uri clase también puede controlarse mediante el System.Configuration.IriParsingElement, System.Configuration.IdnElement, y System.Configuration.UriSection clases de valores de configuración.IRI and IDN processing in the Uri class can also be controlled using the System.Configuration.IriParsingElement, System.Configuration.IdnElement, and System.Configuration.UriSection configuration setting classes. El valor System.Configuration.IriParsingElement habilita o deshabilita el procesamiento de IRI en la clase Uri.The System.Configuration.IriParsingElement setting enables or disables IRI processing in the Uri class. El valor System.Configuration.IdnElement habilita o deshabilita el procesamiento de IDN en la clase Uri.The System.Configuration.IdnElement setting enables or disables IDN processing in the Uri class. El valor System.Configuration.IriParsingElement también controla indirectamente IDN.The System.Configuration.IriParsingElement setting also indirectly controls IDN. El procesamiento de IRI debe estar habilitado para que el procesamiento de IDN sea posible.IRI processing must be enabled for IDN processing to be possible. Si el procesamiento de IRI está deshabilitado, el procesamiento de IDN se establecerá en el valor predeterminado, según el cual se usa el comportamiento de .NET Framework 2.0 para la compatibilidad y no se usan nombres IDN.If IRI processing is disabled, then IDN processing will be set to the default setting where the .NET Framework 2.0 behavior is used for compatibility and IDN names are not used.

El valor de configuración para el System.Configuration.IriParsingElement y System.Configuration.IdnElement se leerá una vez cuando el primer System.Uri se construye la clase.The configuration setting for the System.Configuration.IriParsingElement and System.Configuration.IdnElement will be read once when the first System.Uri class is constructed. Después, se omitirán los cambios realizados en los valores de configuración.Changes to configuration settings after that time are ignored.

La clase System.GenericUriParser también se ha ampliado para permitir la creación de un analizador personalizable que admita IRI e IDN.The System.GenericUriParser class has also been extended to allow creating a customizable parser that supports IRI and IDN. Para especificar el comportamiento de un objeto System.GenericUriParser, se pasa una combinación bit a bit de los valores disponibles en la enumeración System.GenericUriParserOptions al constructor System.GenericUriParser.The behavior of a System.GenericUriParser object is specified by passing a bitwise combination of the values available in the System.GenericUriParserOptions enumeration to the System.GenericUriParser constructor. El tipo GenericUriParserOptions.IriParsing indica que el analizador admite las reglas de análisis especificadas en RFC 3987 para los Identificadores de recursos internacionales (IRI).The GenericUriParserOptions.IriParsing type indicates the parser supports the parsing rules specified in RFC 3987 for International Resource Identifiers (IRI). El uso de IRI viene determinado por los valores de configuración que se ha indicado anteriormente.Whether IRI is used is dictated by the configuration values previously discussed.

El tipo GenericUriParserOptions.Idn indica que el analizador admite el análisis del Nombre de dominio internacionalizado (IDN) de los nombres de host.The GenericUriParserOptions.Idn type indicates the parser supports Internationalized Domain Name (IDN) parsing (IDN) of host names. El uso de IDN viene determinado por los valores de configuración que se ha indicado anteriormente.Whether IDN is used is dictated by the configuration values previously discussed.

Soporte técnico de ruta de acceso de archivo implícitasImplicit File Path Support

Uri También puede utilizarse para representar las rutas de acceso del sistema de archivos local.Uri can also be used to represent local file system paths. Estas rutas de acceso se pueden representar explícitamente en los URI que comienzan con el esquema file://, y implícitamente en identificadores URI que no tiene el esquema file://.These paths can be represented explicitly in URIs that begin with the file:// scheme, and implicitly in URIs that do not have the file:// scheme. Como ejemplo concreto, los dos URI siguientes son ambas válidas y representan la misma ruta de acceso de archivo:As a concrete example, the following two URIs are both valid, and represent the same file path:

Uri uri1 = new Uri("C:/test/path/file.txt") // Implicit file path.
Uri uri2 = new Uri("file:///C:/test/path/file.txt") // Explicit file path.

Estas rutas de acceso de archivo implícitas no son compatibles con la especificación de URI y por lo tanto deberían evitarse siempre que sea posible.These implicit file paths are not compliant with the URI specification and so should be avoided when possible. Cuando se usa .NET Core en sistemas basados en Unix, las rutas de acceso de archivo implícita pueden ser especialmente problemáticos, porque es una ruta de acceso absoluta del archivo implícita distinguir desde una ruta de acceso relativa.When using .NET Core on Unix-based systems, implicit file paths can be especially problematic, because an absolute implicit file path is indistinguishable from a relative path. Cuando está presente, esta ambigüedad Uri predeterminado para interpretar la ruta de acceso como un URI absoluto.When such ambiguity is present, Uri default to interpreting the path as an absolute URI.

Consideraciones sobre el rendimientoPerformance Considerations

Si usa un *Web.config * archivo que contiene los URI para inicializar el tiempo de aplicación, adicional es necesario para procesar los URI si sus identificadores de esquema son no estándares.If you use a *Web.config *file that contains URIs to initialize your application, additional time is required to process the URIs if their scheme identifiers are nonstandard. En tal caso, inicialice las partes afectadas de la aplicación cuando se necesitan los URI, no a la hora de inicio.In such a case, initialize the affected parts of your application when the URIs are needed, not at start time.

Notas a los autores de las llamadas

Por motivos de seguridad, la aplicación debe tener cuidado al aceptar Uri instancias de orígenes de confianza y con dontEscape establecido en true. Puede comprobar la validez de una cadena URI mediante una llamada a la IsWellFormedOriginalString() método.Because of security concerns, your application should use caution when accepting Uri instances from untrusted sources and with dontEscape set to true.You can check a URI string for validity by calling the IsWellFormedOriginalString() method.

Constructores

Uri(SerializationInfo, StreamingContext) Uri(SerializationInfo, StreamingContext) Uri(SerializationInfo, StreamingContext) Uri(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase Uri desde las instancias especificadas de las clases SerializationInfo y StreamingContext.Initializes a new instance of the Uri class from the specified instances of the SerializationInfo and StreamingContext classes.

Uri(String) Uri(String) Uri(String) Uri(String)

Inicializa una nueva instancia de la clase Uri con el identificador URI especificado.Initializes a new instance of the Uri class with the specified URI.

Uri(String, Boolean) Uri(String, Boolean) Uri(String, Boolean) Uri(String, Boolean)

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.Initializes a new instance of the Uri class with the specified URI, with explicit control of character escaping.

Uri(String, UriKind) Uri(String, UriKind) Uri(String, UriKind) Uri(String, UriKind)

Inicializa una nueva instancia de la clase Uri con el identificador URI especificado.Initializes a new instance of the Uri class with the specified URI. Este constructor permite especificar si la cadena URI corresponde a un identificador URI relativo, a un identificador URI absoluto, o si está sin determinar.This constructor allows you to specify if the URI string is a relative URI, absolute URI, or is indeterminate.

Uri(Uri, String) Uri(Uri, String) Uri(Uri, String) Uri(Uri, String)

Inicializa una nueva instancia de la clase Uri basada en la cadena especificada de identificador URI base y relativo.Initializes a new instance of the Uri class based on the specified base URI and relative URI string.

Uri(Uri, String, Boolean) Uri(Uri, String, Boolean) Uri(Uri, String, Boolean) Uri(Uri, String, Boolean)

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.Initializes a new instance of the Uri class based on the specified base and relative URIs, with explicit control of character escaping.

Uri(Uri, Uri) Uri(Uri, Uri) Uri(Uri, Uri) 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.Initializes a new instance of the Uri class based on the combination of a specified base Uri instance and a relative Uri instance.

Campos

SchemeDelimiter SchemeDelimiter SchemeDelimiter SchemeDelimiter

Especifica los caracteres que separan el servicio de protocolo de comunicaciones de la parte correspondiente a la dirección del identificador URI.Specifies the characters that separate the communication protocol scheme from the address portion of the URI. Este campo es de solo lectura.This field is read-only.

UriSchemeFile UriSchemeFile UriSchemeFile UriSchemeFile

Especifica que el identificador URI es un puntero a un archivo.Specifies that the URI is a pointer to a file. Este campo es de solo lectura.This field is read-only.

UriSchemeFtp UriSchemeFtp UriSchemeFtp UriSchemeFtp

Especifica que se puede tener acceso al identificador URI mediante FTP (Protocolo de transferencia de archivos).Specifies that the URI is accessed through the File Transfer Protocol (FTP). Este campo es de solo lectura.This field is read-only.

UriSchemeGopher UriSchemeGopher UriSchemeGopher UriSchemeGopher

Especifica que se puede tener acceso al identificador URI mediante el protocolo Gopher.Specifies that the URI is accessed through the Gopher protocol. Este campo es de solo lectura.This field is read-only.

UriSchemeHttp UriSchemeHttp UriSchemeHttp UriSchemeHttp

Especifica que se puede obtener acceso al identificador URI mediante HTTP (Protocolo de transferencia de hipertexto).Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP). Este campo es de solo lectura.This field is read-only.

UriSchemeHttps UriSchemeHttps UriSchemeHttps UriSchemeHttps

Especifica que se puede obtener acceso al identificador URI mediante HTTPS (Protocolo de transferencia segura de hipertexto).Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS). Este campo es de solo lectura.This field is read-only.

UriSchemeMailto UriSchemeMailto UriSchemeMailto UriSchemeMailto

Especifica que el URI sea una dirección de correo electrónico a la que se acceda por SMTP (Protocolo simple de transferencia de correo).Specifies that the URI is an email address and is accessed through the Simple Mail Transport Protocol (SMTP). Este campo es de solo lectura.This field is read-only.

UriSchemeNetPipe UriSchemeNetPipe UriSchemeNetPipe UriSchemeNetPipe

Especifica que se tiene acceso al URI a través del esquema NetPipe utilizado por Windows Communication Foundation (WCF).Specifies that the URI is accessed through the NetPipe scheme used by Windows Communication Foundation (WCF). Este campo es de solo lectura.This field is read-only.

UriSchemeNetTcp UriSchemeNetTcp UriSchemeNetTcp UriSchemeNetTcp

Especifica que se tiene acceso al URI a través del esquema NetTcp utilizado por Windows Communication Foundation (WCF).Specifies that the URI is accessed through the NetTcp scheme used by Windows Communication Foundation (WCF). Este campo es de solo lectura.This field is read-only.

UriSchemeNews UriSchemeNews UriSchemeNews UriSchemeNews

Especifica que el identificador URI es un grupo de noticias de Internet accesible a través de NNTP (Protocolo de transferencia de noticias en red).Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). Este campo es de solo lectura.This field is read-only.

UriSchemeNntp UriSchemeNntp UriSchemeNntp UriSchemeNntp

Especifica que el identificador URI es un grupo de noticias de Internet accesible a través de NNTP (Protocolo de transferencia de noticias en red).Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). Este campo es de solo lectura.This field is read-only.

Propiedades

AbsolutePath AbsolutePath AbsolutePath AbsolutePath

Obtiene la ruta de acceso absoluta del identificador URI.Gets the absolute path of the URI.

AbsoluteUri AbsoluteUri AbsoluteUri AbsoluteUri

Obtiene el identificador URI absoluto.Gets the absolute URI.

Authority Authority Authority Authority

Obtiene el nombre de host DNS (Sistema de nombres de dominio) o la dirección IP y el número de puerto de un servidor.Gets the Domain Name System (DNS) host name or IP address and the port number for a server.

DnsSafeHost DnsSafeHost DnsSafeHost DnsSafeHost

Obtiene un nombre de host que, una vez convertido en nombre de host sin escape en caso necesario, se puede usar de forma segura para la resolución DNS.Gets a host name that, after being unescaped if necessary, is safe to use for DNS resolution.

Fragment Fragment Fragment Fragment

Obtiene el fragmento de URI de escape.Gets the escaped URI fragment.

Host Host Host Host

Obtiene el componente de host de esta instancia.Gets the host component of this instance.

HostNameType HostNameType HostNameType HostNameType

Obtiene el tipo del nombre de host especificado en el identificador URI.Gets the type of the host name specified in the URI.

IdnHost IdnHost IdnHost IdnHost

Nombre de dominio internacional del host compatible con RFC 3490, mediante Punycode según corresponda.The RFC 3490 compliant International Domain Name of the host, using Punycode as appropriate. Esta cadena, una vez convertida en cadena sin escape en caso necesario, se puede usar de forma segura para la resolución DNS.This string, after being unescaped if necessary, is safe to use for DNS resolution.

IsAbsoluteUri IsAbsoluteUri IsAbsoluteUri IsAbsoluteUri

Obtiene un valor que indica si la instancia de Uri es absoluta.Gets whether the Uri instance is absolute.

IsDefaultPort IsDefaultPort IsDefaultPort IsDefaultPort

Obtiene un valor que indica si el valor de puerto del identificador URI es el valor predeterminado para este esquema.Gets whether the port value of the URI is the default for this scheme.

IsFile IsFile IsFile IsFile

Obtiene un valor que indica si el Uri especificado es un identificador URI de archivo.Gets a value indicating whether the specified Uri is a file URI.

IsLoopback IsLoopback IsLoopback IsLoopback

Obtiene un valor que indica si el Uri especificado hace referencia al host local.Gets whether the specified Uri references the local host.

IsUnc IsUnc IsUnc IsUnc

Obtiene un valor que indica si el Uri especificado es una ruta de acceso UNC (Convención de nomenclatura universal).Gets whether the specified Uri is a universal naming convention (UNC) path.

LocalPath LocalPath LocalPath LocalPath

Obtiene una representación del sistema operativo local de un nombre de archivo.Gets a local operating-system representation of a file name.

OriginalString OriginalString OriginalString OriginalString

Obtiene la cadena de identificador URI original que se pasó al constructor Uri.Gets the original URI string that was passed to the Uri constructor.

PathAndQuery PathAndQuery PathAndQuery PathAndQuery

Obtiene las propiedades AbsolutePath y Query separadas por un signo de interrogación (?).Gets the AbsolutePath and Query properties separated by a question mark (?).

Port Port Port Port

Obtiene el número de puerto de este identificador URI.Gets the port number of this URI.

Query Query Query Query

Obtiene la información de consulta incluida en el identificador URI especificado.Gets any query information included in the specified URI.

Scheme Scheme Scheme Scheme

Obtiene el nombre de esquema de este identificador URI.Gets the scheme name for this URI.

Segments Segments Segments Segments

Obtiene una matriz que contiene los segmentos de ruta de acceso que componen el identificador URI especificado.Gets an array containing the path segments that make up the specified URI.

UserEscaped UserEscaped UserEscaped UserEscaped

Indica que se utilizó una secuencia de escape completa para la cadena de identificador URI antes de crear la instancia de Uri.Indicates that the URI string was completely escaped before the Uri instance was created.

UserInfo UserInfo UserInfo UserInfo

Obtiene el nombre de usuario, la contraseña u otra información específica del usuario asociada al identificador URI especificado.Gets the user name, password, or other user-specific information associated with the specified URI.

Métodos

Canonicalize() Canonicalize() Canonicalize() Canonicalize()

Convierte el identificador URI almacenado internamente en formato canónico.Converts the internally stored URI to canonical form.

CheckHostName(String) CheckHostName(String) CheckHostName(String) CheckHostName(String)

Determina si el nombre de host especificado es un nombre DNS válido.Determines whether the specified host name is a valid DNS name.

CheckSchemeName(String) CheckSchemeName(String) CheckSchemeName(String) CheckSchemeName(String)

Determina si el nombre de esquema especificado es válido.Determines whether the specified scheme name is valid.

CheckSecurity() CheckSecurity() CheckSecurity() CheckSecurity()

Llamar a este método no tiene ningún efecto.Calling this method has no effect.

Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) Compare(Uri, Uri, UriComponents, UriFormat, StringComparison)

Compara las partes especificadas de dos identificadores URI utilizando las reglas de comparación especificadas.Compares the specified parts of two URIs using the specified comparison rules.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Compara dos instancias de Uri para determinar si sus valores son iguales.Compares two Uri instances for equality.

Escape() Escape() Escape() Escape()

Convierte cualquier carácter no seguro o reservado del componente de ruta de acceso en su representación de carácter hexadecimal.Converts any unsafe or reserved characters in the path component to their hexadecimal character representations.

EscapeDataString(String) EscapeDataString(String) EscapeDataString(String) EscapeDataString(String)

Convierte una cadena en su representación de escape.Converts a string to its escaped representation.

EscapeString(String) EscapeString(String) EscapeString(String) EscapeString(String)

Convierte una cadena en su representación de escape.Converts a string to its escaped representation.

EscapeUriString(String) EscapeUriString(String) EscapeUriString(String) EscapeUriString(String)

Convierte una cadena URI en su representación con secuencias de escape.Converts a URI string to its escaped representation.

FromHex(Char) FromHex(Char) FromHex(Char) FromHex(Char)

Obtiene el valor decimal de un dígito hexadecimal.Gets the decimal value of a hexadecimal digit.

GetComponents(UriComponents, UriFormat) GetComponents(UriComponents, UriFormat) GetComponents(UriComponents, UriFormat) GetComponents(UriComponents, UriFormat)

Obtiene los componentes especificados de la instancia actual utilizando las secuencias de escape especificadas para los caracteres especiales.Gets the specified components of the current instance using the specified escaping for special characters.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Obtiene el código hash del identificador URI.Gets the hash code for the URI.

GetLeftPart(UriPartial) GetLeftPart(UriPartial) GetLeftPart(UriPartial) GetLeftPart(UriPartial)

Obtiene la porción especificada de una instancia de Uri.Gets the specified portion of a Uri instance.

GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Devuelve los datos necesarios para serializar la instancia actual.Returns the data needed to serialize the current instance.

GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
HexEscape(Char) HexEscape(Char) HexEscape(Char) HexEscape(Char)

Convierte un carácter especificado en su equivalente en representación hexadecimal.Converts a specified character into its hexadecimal equivalent.

HexUnescape(String, Int32) HexUnescape(String, Int32) HexUnescape(String, Int32) HexUnescape(String, Int32)

Convierte una representación hexadecimal especificada de un carácter en el carácter.Converts a specified hexadecimal representation of a character to the character.

InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
IsBadFileSystemCharacter(Char) IsBadFileSystemCharacter(Char) IsBadFileSystemCharacter(Char) IsBadFileSystemCharacter(Char)

Obtiene un valor que indica si un carácter en un nombre del sistema de archivos no es válido.Gets whether a character is invalid in a file system name.

IsBaseOf(Uri) IsBaseOf(Uri) IsBaseOf(Uri) IsBaseOf(Uri)

Determina si la instancia de Uri actual es una base de la instancia de Uri especificada.Determines whether the current Uri instance is a base of the specified Uri instance.

IsExcludedCharacter(Char) IsExcludedCharacter(Char) IsExcludedCharacter(Char) IsExcludedCharacter(Char)

Obtiene un valor que indica si se deben utilizar secuencias de escape para el carácter especificado.Gets whether the specified character should be escaped.

IsHexDigit(Char) IsHexDigit(Char) IsHexDigit(Char) IsHexDigit(Char)

Determina si un carácter especificado es un dígito hexadecimal válido.Determines whether a specified character is a valid hexadecimal digit.

IsHexEncoding(String, Int32) IsHexEncoding(String, Int32) IsHexEncoding(String, Int32) IsHexEncoding(String, Int32)

Determina si un carácter de una cadena tiene codificación hexadecimal.Determines whether a character in a string is hexadecimal encoded.

IsReservedCharacter(Char) IsReservedCharacter(Char) IsReservedCharacter(Char) IsReservedCharacter(Char)

Obtiene un valor que indica si el carácter especificado es un carácter reservado.Gets whether the specified character is a reserved character.

IsWellFormedOriginalString() IsWellFormedOriginalString() IsWellFormedOriginalString() IsWellFormedOriginalString()

Indica si la cadena usada para construir este Uri tiene el formato correcto y no hay que utilizar más secuencias de escape.Indicates whether the string used to construct this Uri was well-formed and is not required to be further escaped.

IsWellFormedUriString(String, UriKind) IsWellFormedUriString(String, UriKind) IsWellFormedUriString(String, UriKind) IsWellFormedUriString(String, UriKind)

Indica si la cadena tiene el formato correcto al intentar construir un URI con ella y garantiza que la cadena no requiere después secuencias de escape.Indicates whether the string is well-formed by attempting to construct a URI with the string and ensures that the string does not require further escaping.

MakeRelative(Uri) MakeRelative(Uri) MakeRelative(Uri) MakeRelative(Uri)

Determina la diferencia que existe entre dos instancias de Uri.Determines the difference between two Uri instances.

MakeRelativeUri(Uri) MakeRelativeUri(Uri) MakeRelativeUri(Uri) MakeRelativeUri(Uri)

Determina la diferencia que existe entre dos instancias de Uri.Determines the difference between two Uri instances.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
Parse() Parse() Parse() Parse()

Analiza el identificador URI de la instancia actual para garantizar que contiene todas las partes requeridas para que un URI sea válido.Parses the URI of the current instance to ensure it contains all the parts required for a valid URI.

ToString() ToString() ToString() ToString()

Obtiene una representación de cadena canónica para la instancia de Uri especificada.Gets a canonical string representation for the specified Uri instance.

TryCreate(String, UriKind, Uri) TryCreate(String, UriKind, Uri) TryCreate(String, UriKind, Uri) TryCreate(String, UriKind, Uri)

Crea un nuevo Uri usando la String especificada y un UriKind.Creates a new Uri using the specified String instance and a UriKind.

TryCreate(Uri, String, Uri) TryCreate(Uri, String, Uri) TryCreate(Uri, String, Uri) TryCreate(Uri, String, Uri)

Crea un nuevo Uri usando la base especificada y las instancias de String relativo.Creates a new Uri using the specified base and relative String instances.

TryCreate(Uri, Uri, Uri) TryCreate(Uri, Uri, Uri) TryCreate(Uri, Uri, Uri) TryCreate(Uri, Uri, Uri)

Crea un nuevo Uri usando la base especificada y las instancias de Uri relativo.Creates a new Uri using the specified base and relative Uri instances.

Unescape(String) Unescape(String) Unescape(String) Unescape(String)

Convierte la cadena especificada, reemplazando cualquier secuencia de escape por su representación sin escape.Converts the specified string by replacing any escape sequences with their unescaped representation.

UnescapeDataString(String) UnescapeDataString(String) UnescapeDataString(String) UnescapeDataString(String)

Convierte una cadena en su representación sin secuencias de escape.Converts a string to its unescaped representation.

Operadores

Equality(Uri, Uri) Equality(Uri, Uri) Equality(Uri, Uri) Equality(Uri, Uri)

Determina si dos instancias de Uri tienen el mismo valor.Determines whether two Uri instances have the same value.

Inequality(Uri, Uri) Inequality(Uri, Uri) Inequality(Uri, Uri) Inequality(Uri, Uri)

Determina si dos instancias de Uri no tienen el mismo valor.Determines whether two Uri instances do not have the same value.

Implementaciones de interfaz explícitas

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Devuelve los datos necesarios para serializar la instancia actual.Returns the data needed to serialize the current instance.

Se aplica a

Consulte también: