Uri Classe

Définition

Fournit une représentation objet d'un URI (Uniform Resource Identifier) et un accès simplifié aux parties de l'identificateur.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
Héritage
Attributs
Implémente

Exemples

L’exemple suivant crée une instance de la classe Uri et l’utilise pour créer une instance WebRequest.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)

Remarques

Un URI est une représentation compacte d’une ressource disponible pour votre application sur l’intranet ou sur Internet.A URI is a compact representation of a resource available to your application on the intranet or Internet. La classe Uri définit les propriétés et les méthodes pour gérer les URI, y compris l’analyse, la comparaison et la combinaison.The Uri class defines the properties and methods for handling URIs, including parsing, comparing, and combining. Les propriétés de la classe Uri sont en lecture seule ; pour créer un objet modifiable, utilisez la classe UriBuilder.The Uri class properties are read-only; to create a modifiable object, use the UriBuilder class.

Les URI relatifs (par exemple, « /new/index.htm ») doivent être développés par rapport à un URI de base afin d’être absolus.Relative URIs (for example, "/new/index.htm") must be expanded with respect to a base URI so that they are absolute. La méthode MakeRelative est fournie pour convertir les URI absolus en URI relatifs, si nécessaire.The MakeRelative method is provided to convert absolute URIs to relative URIs when necessary.

Les constructeurs Uri n’échappent pas les chaînes d’URI si la chaîne est un URI bien formé, y compris un identificateur de schéma.The Uri constructors do not escape URI strings if the string is a well-formed URI including a scheme identifier.

Les propriétés Uri retournent une représentation de données canonique dans l’encodage d’échappement, avec tous les caractères avec des valeurs Unicode supérieures à 127 remplacées par leurs équivalents hexadécimaux.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. Pour mettre l’URI au format canonique, le constructeur Uri effectue les étapes suivantes :To put the URI in canonical form, the Uri constructor performs the following steps:

  • Convertit le schéma d’URI en minuscules.Converts the URI scheme to lowercase.

  • Convertit le nom d’hôte en minuscules.Converts the host name to lowercase.

  • Si le nom d’hôte est une adresse IPv6, l’adresse IPv6 canonique est utilisée.If the host name is an IPv6 address, the canonical IPv6 address is used. ScopeId et d’autres données IPv6 facultatives sont supprimées.ScopeId and other optional IPv6 data are removed.

  • Supprime les numéros de port par défaut et vides.Removes default and empty port numbers.

  • Convertit les chemins d’accès de fichier implicites sans le schéma file://(par exemple, « C:\my\file ») en chemins d’accès de fichier explicites avec le schéma file://.Converts implicit file paths without the file:// scheme (for example, "C:\my\file") to explicit file paths with the file:// scheme.

  • Les caractères d’échappement (également appelés octets encodés en pourcentage) qui n’ont pas d’objectif réservé sont décodés (également appelés sans séquence d’échappement).Escaped characters (also known as percent-encoded octets) that don't have a reserved purpose are decoded (also known as being unescaped). Ces caractères non réservés sont les lettres majuscules et minuscules (%41-% 5A et %61-% 7A), les chiffres décimaux (%30-%39), le trait d’Union (% 2D), le point (% 2E), le trait de soulignement (% 5F) et le 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).

  • Canonicalizes le chemin d’accès des URI hiérarchiques en compactant les séquences telles que/./,/.. /et//(indique si la séquence est placée dans une séquence d’échappement).Canonicalizes the path for hierarchical URIs by compacting sequences such as /./, /../, and // (whether or not the sequence is escaped). Notez qu’il existe des schémas pour lesquels ces séquences ne sont pas compactées.Note that there are some schemes for which these sequences are not compacted.

  • Pour les URI hiérarchiques, si l’hôte ne se termine pas par une barre oblique (/), une barre oblique (/) est ajoutée.For hierarchical URIs, if the host is not terminated with a forward slash (/), one is added.

  • Par défaut, tous les caractères réservés dans l’URI sont échappés conformément à la norme RFC 2396.By default, any reserved characters in the URI are escaped in accordance with RFC 2396. Ce comportement change si les identificateurs de ressource internationaux ou l’analyse du nom de domaine international sont activés, auquel cas les caractères réservés dans l’URI sont échappés conformément à la norme RFC 3986 et 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.

Dans le cadre de la canonisation dans le constructeur pour certains schémas, les segments de points et les segments vides (/./,/.. /et//) sont compactés (en d’autres termes, ils sont supprimés).As part of canonicalization in the constructor for some schemes, dot-segments and empty segments (/./, /../, and //) are compacted (in other words, they are removed). Les schémas pour lesquels l’URI compresse ces séquences sont http, HTTPS, TCP, net. pipe et net. TCP.The schemes for which URI will compact these sequences include http, https, tcp, net.pipe, and net.tcp. Pour d’autres schémas, ces séquences ne sont pas compactées.For some other schemes, these sequences are not compacted. Voici comment ce compactage se présente dans la pratique.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);  

Quand ce code est exécuté, il retourne la sortie suivante, avec les séquences d’échappement sans séquence d’échappement si nécessaire, puis compacté.When this code is executed, it returns the following output, with the escaped sequences unescaped if necessary and then compacted.

http://myUrl/  
/  

Vous pouvez transformer le contenu de la classe Uri à partir d’une référence URI encodée par échappement en une référence URI lisible à l’aide de la méthode ToString.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. Notez que certains caractères réservés peuvent toujours être placés dans une séquence d’échappement dans la sortie de la méthode ToString.Note that some reserved characters might still be escaped in the output of the ToString method. Cela permet de prendre en charge la reconstruction non ambiguë d’un URI à partir de la valeur retournée par ToString.This is to support unambiguous reconstruction of a URI from the value returned by ToString.

Certains URI incluent un identificateur de fragment ou une requête, ou les deux.Some URIs include a fragment identifier or a query or both. Un identificateur de fragment est tout texte qui suit un signe dièse (#), à l’exclusion du signe dièse. le texte de fragment est stocké dans la propriété Fragment.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. Les informations de requête sont tout texte qui suit un point d’interrogation ( ?) dans l’URI ; le texte de la requête est stocké dans la propriété Query.Query information is any text that follows a question mark (?) in the URI; the query text is stored in the Query property.

Dans la version de .NET Framework 1,1, si la chaîne spécifiée à un constructeur contient un schéma inconnu et « c :\», la classe URI insère « // » après le signe deux-points.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. Par exemple, l’URI xyz:c:\abc est converti en xyz://c:/abc.For example, the URI xyz:c:\abc is converted to xyz://c:/abc. Dans la .NET Framework version 2,0, ce comportement a été supprimé et l’exemple de chaîne est converti 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.

Notes

La classe URI prend en charge l’utilisation d’adresses IP dans les deux notations pour le protocole IPv4 et le signe deux-points comme hexadécimal pour le protocole IPv6.The URI class supports the use of IP addresses in both quad-notation for IPv4 protocol and colon-hexadecimal for IPv6 protocol. N’oubliez pas de placer l’adresse IPv6 entre crochets, comme dans http://[ :: 1].Remember to enclose the IPv6 address in square brackets, as in http://[::1].

Prise en charge des identificateurs de ressources internationauxInternational Resource Identifier Support

Les adresses Web sont généralement exprimées à l’aide d’identificateurs de ressources uniformes qui se composent d’un jeu de caractères très restreint :Web addresses are typically expressed using uniform resource identifiers that consist of a very restricted set of characters:

  • Lettres ASCII minuscules et majuscules de l’alphabet anglais.Upper and lower case ASCII letters from the English alphabet.

  • Chiffres de 0 à 9.Digits from 0 to 9.

  • Un petit nombre d’autres symboles ASCII.A small number of other ASCII symbols.

Les spécifications des URI sont documentées dans les documents RFC 2396, RFC 2732, RFC 3986 et RFC 3987 publiés par l’IETF (Internet Engineering Task Force).The specifications for URIs are documented in RFC 2396, RFC 2732, RFC 3986, and RFC 3987 published by the Internet Engineering Task Force (IETF).

Avec l’essor d’Internet, l’identification de ressources utilisant d’autres langues que l’anglais devient de plus en plus nécessaire.With the growth of the Internet, there is a growing need to identify resources using languages other than English. Les identificateurs IRI (International Resource Identifier) sont des identificateurs qui permettent de répondre à ce besoin et d’utiliser des caractères non ASCII (ceux du jeu de caractères Unicode/ISO 10646).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). Les spécifications applicables aux IRI sont documentées dans la norme RFC 3987 publiée par l’IETF.The specifications for IRIs are documented in RFC 3987 published by IETF. L’utilisation d’IRI permet l’emploi de caractères Unicode dans les URL.Using IRIs allows a URL to contain Unicode characters.

La classe de Uri existante a été étendue dans .NET Framework v 3.5, 3,0 SP1 et 2,0 SP1 pour fournir une prise en charge des IRI basée sur 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. Les utilisateurs des versions de .NET Framework antérieures à la version 4,5 ne voient aucune modification du comportement .NET Framework 2,0, sauf s’ils activent spécifiquement les IRI.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. Cela garantit la compatibilité des applications avec les versions antérieures de .NET Framework.This ensures application compatibility with prior versions of the .NET Framework.

Pour activer la prise en charge des IRI, la modification suivante est requise :To enable support for IRI, the following change is required:

  • Spécifiez si vous souhaitez appliquer l’analyse des IDN (Internationalized Domain Name) au nom de domaine et si les règles d’analyse IRI doivent être appliquées.Specify whether you want Internationalized Domain Name (IDN) parsing applied to the domain name and whether IRI parsing rules should be applied. Cela peut être fait dans le fichier machine. config ou app. config .This can be done in the machine.config or in the app.config file. Par exemple, ajoutez ce qui suit :For example, add the following:

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

Les utilisateurs de .NET Framework 4,5 et versions ultérieures ont toujours des IRI activés.Users of .NET Framework 4.5 and newer always have IRI enabled. L’analyse IRI ne peut pas être modifiée à l’aide d’un fichier . config .IRI parsing cannot be changed using a .config file.

L’activation des IDN entraîne la conversion de toutes les étiquettes Unicode d’un nom de domaine en leurs équivalents Punycode.Enabling IDN will convert all Unicode labels in a domain name to their Punycode equivalents. Les noms Punycode contiennent uniquement des caractères ASCII et commencent toujours par le préfixe xn--.Punycode names contain only ASCII characters and always start with the xn-- prefix. Cela permet de garantir la prise en charge des serveurs DNS existants sur Internet, la plupart d’entre eux prenant uniquement en charge les caractères ASCII (consultez la norme 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).

L’activation des IRI et des IDN entraîne une modification de la valeur de la propriété Uri.DnsSafeHost.Enabling IRI and IDN affects the value of the Uri.DnsSafeHost property. Cela peut aussi changer le comportement des méthodes Equals, OriginalString, GetComponents et IsWellFormedOriginalString.Enabling IRI and IDN can also change the behavior of the Equals, OriginalString, GetComponents, and IsWellFormedOriginalString methods.

Il existe trois valeurs possibles pour l’IDN selon les serveurs DNS utilisés :There are three possible values for IDN depending on the DNS servers that are used:

  • IDN activé = tousidn enabled = All

    Cette valeur convertit tous les noms de domaine Unicode en leurs équivalents Punycode (noms IDN).This value will convert any Unicode domain names to their Punycode equivalents (IDN names).

  • IDN activé = AllExceptIntranetidn enabled = AllExceptIntranet

    Cette valeur convertit tous les noms de domaine Unicode qui ne se trouvent pas sur l’intranet local pour utiliser les équivalents Punycode (noms IDN).This value will convert all Unicode domain names not on the local Intranet to use the Punycode equivalents (IDN names). Dans ce cas, pour gérer les noms internationaux sur l’intranet local, les serveurs DNS utilisés pour l’intranet doivent prendre en charge la résolution de noms 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 activé = aucunidn enabled = None

    Cette valeur ne convertit aucun nom de domaine Unicode pour utiliser Punycode.This value will not convert any Unicode domain names to use Punycode. Il s’agit de la valeur par défaut qui est cohérente avec le comportement .NET Framework 2,0.This is the default value which is consistent with the .NET Framework 2.0 behaviour.

Lorsque l’analyse IRI est activée (iriParsing enabled = true), la normalisation et la vérification des caractères sont effectuées conformément aux dernières règles IRI de la norme RFC 3986 et 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. Lorsque l’analyse IRI est désactivée, la normalisation et la vérification des caractères sont effectuées conformément aux RFC 2396 et RFC 2732 (pour les littéraux IPv6).When IRI parsing is disabled, normalization and character checking are performed according to RFC 2396 and RFC 2732 (for IPv6 literals). Dans les versions de .NET Framework antérieures à la version 4,5, la valeur par défaut est false.In versions of the .NET Framework before version 4.5, the default value is false. Dans .NET Framework version 4,5 et versions ultérieures, la valeur par défaut est trueet l’état activé de l’analyse IRI ne peut pas être modifié par les paramètres dans un fichier . config .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.

Le traitement des IRI et des IDN dans la classe Uri peut également être contrôlé à l’aide des classes de paramètres de configuration System.Configuration.IriParsingElement, System.Configuration.IdnElementet System.Configuration.UriSection.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. Le paramètre System.Configuration.IriParsingElement active ou désactive le traitement des IRI dans la classe Uri.The System.Configuration.IriParsingElement setting enables or disables IRI processing in the Uri class. Le paramètre System.Configuration.IdnElement active ou désactive le traitement des IDN dans la classe Uri.The System.Configuration.IdnElement setting enables or disables IDN processing in the Uri class. Le paramètre System.Configuration.IriParsingElement contrôle également indirectement les IDN.The System.Configuration.IriParsingElement setting also indirectly controls IDN. Le traitement des IRI doit être activé pour permettre le traitement des IDN.IRI processing must be enabled for IDN processing to be possible. Si le traitement des IRI est désactivé, le traitement des IDN est effectué selon le paramètre par défaut (le comportement de .NET Framework 2.0 est utilisé pour la compatibilité et les noms IDN ne sont pas utilisés).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.

Le paramètre de configuration de l' System.Configuration.IriParsingElement et System.Configuration.IdnElement sera lu une fois lorsque la première classe System.Uri sera construite.The configuration setting for the System.Configuration.IriParsingElement and System.Configuration.IdnElement will be read once when the first System.Uri class is constructed. Les changements apportés ultérieurement aux paramètres de configuration sont ignorés.Changes to configuration settings after that time are ignored.

La classe System.GenericUriParser a également été étendue pour permettre la création d’un analyseur personnalisable qui prend en charge les IRI et les IDN.The System.GenericUriParser class has also been extended to allow creating a customizable parser that supports IRI and IDN. Le comportement d’un objet System.GenericUriParser est spécifié en passant une combinaison d’opérations au niveau du bit des valeurs disponibles dans l’énumération System.GenericUriParserOptions au constructeur 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. Le type GenericUriParserOptions.IriParsing indique que l’analyseur prend en charge les règles d’analyse spécifiées dans la norme RFC 3987 pour les IRI (International Resource Identifier).The GenericUriParserOptions.IriParsing type indicates the parser supports the parsing rules specified in RFC 3987 for International Resource Identifiers (IRI). L’utilisation des IRI est dictée par les valeurs de configuration présentées précédemment.Whether IRI is used is dictated by the configuration values previously discussed.

Le type GenericUriParserOptions.Idn indique que l’analyseur prend en charge l’analyse des IDN pour les noms d’hôte.The GenericUriParserOptions.Idn type indicates the parser supports Internationalized Domain Name (IDN) parsing (IDN) of host names. L’utilisation de l’IDN est dictée par les valeurs de configuration présentées précédemment.Whether IDN is used is dictated by the configuration values previously discussed.

Prise en charge implicite du chemin de fichierImplicit File Path Support

Uri peut également être utilisé pour représenter les chemins d’accès du système de fichiers local.Uri can also be used to represent local file system paths. Ces chemins d’accès peuvent être représentés explicitement dans les URI qui commencent par le schéma file://, et implicitement dans les URI qui n’ont pas le schéma 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. En guise d’exemple concret, les deux URI suivants sont valides et représentent le même chemin d’accès de fichier :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.

Ces chemins d’accès de fichier implicites ne sont pas conformes à la spécification de l’URI et doivent donc être évités dans la mesure du possible.These implicit file paths are not compliant with the URI specification and so should be avoided when possible. Lors de l’utilisation de .NET Core sur des systèmes UNIX, les chemins de fichiers implicites peuvent être particulièrement problématiques, car un chemin d’accès de fichier implicite absolu ne peut pas être distingué d’un chemin d’accès relatif.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. Lorsque cette ambiguïté est présente, Uri par défaut d’interpréter le chemin d’accès comme un URI absolu.When such ambiguity is present, Uri default to interpreting the path as an absolute URI.

Considérations sur les performancesPerformance Considerations

Si vous utilisez un fichier * Web. config * qui contient des URI pour initialiser votre application, il est nécessaire de disposer de temps supplémentaire pour traiter les URI si leurs identificateurs de schéma ne sont pas standard.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. Dans ce cas, initialisez les parties affectées de votre application lorsque les URI sont nécessaires, et non à l’heure de début.In such a case, initialize the affected parts of your application when the URIs are needed, not at start time.

Notes pour les appelants

En raison des problèmes de sécurité, votre application doit être prudente lors de l’acceptation d’instances Uri provenant de sources non approuvées et avec dontEscape définie sur true. Vous pouvez vérifier la validité d’une chaîne d’URI en appelant la méthode IsWellFormedOriginalString().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.

Constructeurs

Uri(SerializationInfo, StreamingContext)

Initialise une nouvelle instance de la classe Uri à partir des instances spécifiées des classes SerializationInfo et StreamingContext.Initializes a new instance of the Uri class from the specified instances of the SerializationInfo and StreamingContext classes.

Uri(String)

Initialise une nouvelle instance de la classe Uri avec l'URI spécifié.Initializes a new instance of the Uri class with the specified URI.

Uri(String, Boolean)

Initialise une nouvelle instance de la classe Uri avec l'URI spécifié et contrôle explicite de l'échappement des caractères.Initializes a new instance of the Uri class with the specified URI, with explicit control of character escaping.

Uri(String, UriKind)

Initialise une nouvelle instance de la classe Uri avec l'URI spécifié.Initializes a new instance of the Uri class with the specified URI. Ce constructeur vous permet de spécifier si la chaîne d'URI est un URI relatif, un URI absolu ou si elle est indéterminée.This constructor allows you to specify if the URI string is a relative URI, absolute URI, or is indeterminate.

Uri(Uri, String)

Initialise une nouvelle instance de la classe Uri fondée sur l'URI de base et la chaîne URI relative spécifiés.Initializes a new instance of the Uri class based on the specified base URI and relative URI string.

Uri(Uri, String, Boolean)

Initialise une nouvelle instance de la classe Uri fondée sur les URI de base et relatifs spécifiés, avec contrôle explicite de l'échappement des caractères.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)

Initialise une nouvelle instance de la classe Uri en s'appuyant sur la combinaison d'une instance de Uri de base et d'une instance de Uri relative.Initializes a new instance of the Uri class based on the combination of a specified base Uri instance and a relative Uri instance.

Champs

SchemeDelimiter

Spécifie les caractères qui séparent le schéma du protocole de communication de la partie adresse de l'URI.Specifies the characters that separate the communication protocol scheme from the address portion of the URI. Ce champ est en lecture seule.This field is read-only.

UriSchemeFile

Spécifie que l'URI est un pointeur vers un fichier.Specifies that the URI is a pointer to a file. Ce champ est en lecture seule.This field is read-only.

UriSchemeFtp

Spécifie que l'URI est accessible par l'intermédiaire du protocole FTP (File Transfer Protocol).Specifies that the URI is accessed through the File Transfer Protocol (FTP). Ce champ est en lecture seule.This field is read-only.

UriSchemeGopher

Spécifie que l'URI est accessible par l'intermédiaire du protocole Gopher.Specifies that the URI is accessed through the Gopher protocol. Ce champ est en lecture seule.This field is read-only.

UriSchemeHttp

Spécifie que l'URI est accessible par l'intermédiaire du protocole HTTP (Hypertext Transfer Protocol).Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP). Ce champ est en lecture seule.This field is read-only.

UriSchemeHttps

Spécifie que l'URI est accessible par l'intermédiaire du protocole HTTPS (Secure Hypertext Transfer Protocol).Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS). Ce champ est en lecture seule.This field is read-only.

UriSchemeMailto

Spécifie que l’URI est une adresse e-mail accessible par l’intermédiaire du protocole SMTP (Simple Mail Transport Protocol).Specifies that the URI is an email address and is accessed through the Simple Mail Transport Protocol (SMTP). Ce champ est en lecture seule.This field is read-only.

UriSchemeNetPipe

Spécifie que l'URI est accessible via le modèle NetPipe utilisé par Windows Communication Foundation (WCF).Specifies that the URI is accessed through the NetPipe scheme used by Windows Communication Foundation (WCF). Ce champ est en lecture seule.This field is read-only.

UriSchemeNetTcp

Spécifie que l'URI est accessible via le modèle NetTcp utilisé par Windows Communication Foundation (WCF).Specifies that the URI is accessed through the NetTcp scheme used by Windows Communication Foundation (WCF). Ce champ est en lecture seule.This field is read-only.

UriSchemeNews

Spécifie que l'URI est un groupe de discussion Internet accessible par le protocole NNTP (Network News Transport Protocol).Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). Ce champ est en lecture seule.This field is read-only.

UriSchemeNntp

Spécifie que l'URI est un groupe de discussion Internet accessible par le protocole NNTP (Network News Transport Protocol).Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). Ce champ est en lecture seule.This field is read-only.

Propriétés

AbsolutePath

Obtient le chemin d’accès absolu de l’URI.Gets the absolute path of the URI.

AbsoluteUri

Obtient l'URI absolu.Gets the absolute URI.

Authority

Obtient le nom de l'hôte DNS (Domain Name System) ou l'adresse IP et le numéro de port pour un serveur.Gets the Domain Name System (DNS) host name or IP address and the port number for a server.

DnsSafeHost

Obtient un nom d’hôte qui, une fois sans séquence d’échappement si nécessaire, peut être utilisé en toute sécurité pour la résolution DNS.Gets a host name that, after being unescaped if necessary, is safe to use for DNS resolution.

Fragment

Obtient le fragment URI avec séquence d'échappement.Gets the escaped URI fragment.

Host

Obtient le composant hôte de cette instance.Gets the host component of this instance.

HostNameType

Obtient le type du nom d'hôte spécifié dans l'URI.Gets the type of the host name specified in the URI.

IdnHost

Nom de domaine international conforme à la norme RFC 3490 de l'hôte, avec Punycode le cas échéant.The RFC 3490 compliant International Domain Name of the host, using Punycode as appropriate. Cette chaîne, une fois sans séquence d’échappement si nécessaire, peut être utilisée en toute sécurité pour la résolution DNS.This string, after being unescaped if necessary, is safe to use for DNS resolution.

IsAbsoluteUri

Obtient une valeur indiquant si l'instance Uri est absolue.Gets whether the Uri instance is absolute.

IsDefaultPort

Obtient une valeur indiquant si la valeur du port de l'URI est la valeur par défaut pour ce schéma.Gets whether the port value of the URI is the default for this scheme.

IsFile

Obtient une valeur indiquant si le Uri spécifié est un URI de fichier.Gets a value indicating whether the specified Uri is a file URI.

IsLoopback

Obtient une valeur indiquant si le Uri spécifié référence l'hôte local.Gets whether the specified Uri references the local host.

IsUnc

Obtient une valeur indiquant si le Uri spécifié est un chemin d'accès UNC (Universal Naming Convention).Gets whether the specified Uri is a universal naming convention (UNC) path.

LocalPath

Obtient une représentation du système d'exploitation local d'un nom de fichier.Gets a local operating-system representation of a file name.

OriginalString

Obtient la chaîne d'URI d'origine passée au constructeur Uri.Gets the original URI string that was passed to the Uri constructor.

PathAndQuery

Obtient les propriétés AbsolutePath et Query séparées par un point d'interrogation (?).Gets the AbsolutePath and Query properties separated by a question mark (?).

Port

Obtient le numéro de port de l'URI spécifié.Gets the port number of this URI.

Query

Obtient les informations de requête incluses dans l'URI spécifié.Gets any query information included in the specified URI.

Scheme

Obtient le nom de schéma de cet URI.Gets the scheme name for this URI.

Segments

Obtient un tableau contenant des segments de chemin d’accès qui composent l’URI spécifié.Gets an array containing the path segments that make up the specified URI.

UserEscaped

Indique que la chaîne de l'URI a été placée intégralement dans une séquence d'échappement avant la création de l'instance de Uri.Indicates that the URI string was completely escaped before the Uri instance was created.

UserInfo

Obtient le nom d'utilisateur, le mot de passe et d'autres informations spécifiques à l'utilisateur associés à l'URI spécifié.Gets the user name, password, or other user-specific information associated with the specified URI.

Méthodes

Canonicalize()

Convertit l'URI stocké en interne au format réglementaire.Converts the internally stored URI to canonical form.

CheckHostName(String)

Détermine si le nom d'hôte spécifié est un nom DNS valide.Determines whether the specified host name is a valid DNS name.

CheckSchemeName(String)

Détermine si le nom de schéma spécifié est valide.Determines whether the specified scheme name is valid.

CheckSecurity()

L'appel à cette méthode n'a aucun effet.Calling this method has no effect.

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

Compare les parties spécifiées de deux URI à l'aide des règles de comparaison spécifiées.Compares the specified parts of two URIs using the specified comparison rules.

CreateObjRef(Type)

Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Hérité de MarshalByRefObject)
Equals(Object)

Compare si deux instances Uri sont égales.Compares two Uri instances for equality.

Escape()

Convertit tous les caractères non sécurisés ou réservés dans le composant de chemin d'accès en leurs présentations en caractères hexadécimaux.Converts any unsafe or reserved characters in the path component to their hexadecimal character representations.

EscapeDataString(String)

Convertit une chaîne en sa représentation avec séquence d'échappement.Converts a string to its escaped representation.

EscapeString(String)

Convertit une chaîne en sa représentation avec séquence d'échappement.Converts a string to its escaped representation.

EscapeUriString(String)

Convertit une chaîne URI en sa représentation sans séquence d'échappement.Converts a URI string to its escaped representation.

FromHex(Char)

Obtient la valeur décimale d'un chiffre hexadécimal.Gets the decimal value of a hexadecimal digit.

GetComponents(UriComponents, UriFormat)

Obtient les composants spécifiés de l'instance actuelle à l'aide de la séquence d'échappement spécifiée pour les caractères spéciaux.Gets the specified components of the current instance using the specified escaping for special characters.

GetHashCode()

Obtient le code de hachage pour l'URI.Gets the hash code for the URI.

GetLeftPart(UriPartial)

Obtient la partie spécifiée d'une instance Uri.Gets the specified portion of a Uri instance.

GetLifetimeService()

Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Retourne les données nécessaires à la sérialisation de l'instance actuelle.Returns the data needed to serialize the current instance.

GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
HexEscape(Char)

Convertit un caractère spécifié en son équivalent hexadécimal.Converts a specified character into its hexadecimal equivalent.

HexUnescape(String, Int32)

Convertit une représentation hexadécimale spécifiée d'un caractère en ce caractère.Converts a specified hexadecimal representation of a character to the character.

InitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.Obtains a lifetime service object to control the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
IsBadFileSystemCharacter(Char)

Obtient une valeur indiquant si un caractère n'est pas valide dans un nom de système de fichiers.Gets whether a character is invalid in a file system name.

IsBaseOf(Uri)

Détermine si l'instance de Uri actuelle est une base de l'instance de Uri spécifiée.Determines whether the current Uri instance is a base of the specified Uri instance.

IsExcludedCharacter(Char)

Obtient une valeur indiquant si le caractère spécifié doit être placé dans une séquence d'échappement.Gets whether the specified character should be escaped.

IsHexDigit(Char)

Détermine si un caractère spécifié est un chiffre hexadécimal valide.Determines whether a specified character is a valid hexadecimal digit.

IsHexEncoding(String, Int32)

Détermine si un caractère d'une chaîne est encodé en hexadécimal.Determines whether a character in a string is hexadecimal encoded.

IsReservedCharacter(Char)

Obtient une valeur indiquant si le caractère spécifié est réservé.Gets whether the specified character is a reserved character.

IsWellFormedOriginalString()

Indique si la chaîne utilisée pour construire ce Uri était bien formée et qu'elle ne doit pas également faire l'objet d'une séquence d'échappement.Indicates whether the string used to construct this Uri was well-formed and is not required to be further escaped.

IsWellFormedUriString(String, UriKind)

Indique si la chaîne est bien formée en essayant de construire un URI avec la chaîne et garantit que la chaîne ne doit pas également faire l'objet d'une séquence d'échappement.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)

Détermine la différence entre deux instances de Uri.Determines the difference between two Uri instances.

MakeRelativeUri(Uri)

Détermine la différence entre deux instances de Uri.Determines the difference between two Uri instances.

MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.Creates a shallow copy of the current MarshalByRefObject object.

(Hérité de MarshalByRefObject)
Parse()

Analyse l'URI de l'instance actuelle pour s'assurer qu'il contient toutes les parties requises pour un URI valide.Parses the URI of the current instance to ensure it contains all the parts required for a valid URI.

ToString()

Obtient une représentation canonique sous forme de chaîne de l'instance de Uri.Gets a canonical string representation for the specified Uri instance.

TryCreate(String, UriKind, Uri)

Crée Uri à l'aide de l'instance de String spécifiée et de UriKind.Creates a new Uri using the specified String instance and a UriKind.

TryCreate(Uri, String, Uri)

Crée un Uri à l'aide des instances de String de base et relatives.Creates a new Uri using the specified base and relative String instances.

TryCreate(Uri, Uri, Uri)

Crée un Uri à l'aide des instances de Uri de base et relatives.Creates a new Uri using the specified base and relative Uri instances.

Unescape(String)

Convertit la chaîne spécifiée en remplaçant toutes les séquences d'échappement par leur représentation sans séquence d'échappement.Converts the specified string by replacing any escape sequences with their unescaped representation.

UnescapeDataString(String)

Convertit une chaîne en sa représentation sans séquence d'échappement.Converts a string to its unescaped representation.

Opérateurs

Equality(Uri, Uri)

Détermine si deux instances Uri ont la même valeur.Determines whether two Uri instances have the same value.

Inequality(Uri, Uri)

Détermine si deux instances de Uri n'ont pas la même valeur.Determines whether two Uri instances do not have the same value.

Implémentations d’interfaces explicites

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Retourne les données nécessaires à la sérialisation de l'instance actuelle.Returns the data needed to serialize the current instance.

S’applique à

Voir aussi