Élément <idn> (paramètres d’URI)

Indique si l’analyse de nom de domaine international (IDN) s’applique à un nom de domaine.

<configuration>
  <URI>
    <idn>

Syntaxe

<idn
  enabled="All|AllExceptIntranet|None"
/>  

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Element Description
enabled Indique si l’analyse des noms de domaine internationaux (IDN) s’applique à un nom de domaine. La valeur par défaut est none (aucun).

Éléments enfants

Aucun

Éléments parents

Element Description
uri Contient les paramètres qui spécifient la façon dont .NET Framework gère les adresses web exprimées à l’aide d’URI (Uniform Resource Identifier).

Notes

La classe Uri existante a été étendue dans .NET Framework 3.5. 3.0 SP1 et 2.0 SP1 avec prise en charge des identificateurs IRI (International Resource Identifiers) et des noms de domaine internationaux (IDN). Les utilisateurs actuels ne verront aucun changement dans le comportement de .NET Framework 2.0, sauf s’ils activent spécifiquement la prise en charge d’IRI et d’IDN. Cela garantit la compatibilité des applications avec les versions antérieures de .NET Framework.

Pour activer la prise en charge d’IRI, les deux modifications suivantes sont nécessaires :

  1. Ajoutez la ligne suivante au fichier machine.config sous le répertoire .NET Framework 2.0 :

    <section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />  
    
  2. Indiquez si vous voulez que l’analyse des noms de domaine internationaux (IDN) s’applique au nom de domaine et si les règles d’analyse IRI doivent être appliquées. Cela est spécifié dans le fichier machine.config ou app.config.

Il existe trois valeurs possibles pour IDN qui dépendent des serveurs DNS utilisés :

  • idn enabled = All

    Cette valeur convertit tous les noms de domaine Unicode en leurs équivalents Punycode (noms IDN).

  • idn enabled = AllExceptIntranet

    Cette valeur convertit tous les noms de domaine Unicode qui ne se trouvent pas sur l’intranet local pour utiliser leurs équivalents Punycode (noms IDN). Dans ce cas, pour gérer des noms internationaux sur l’intranet local, les serveurs DNS utilisés pour l'intranet doivent prendre en charge la résolution de noms Unicode.

  • idn enabled = None

    Cette valeur ne convertit aucun nom de domaine Unicode pour utiliser Punycode. Il s'agit de la valeur par défaut cohérente avec le comportement du .NET Framework 2.0.

L’activation des IDN entraîne la conversion de toutes les étiquettes Unicode d’un nom de domaine en leurs équivalents Punycode. Les noms Punycode contiennent uniquement des caractères ASCII et commencent toujours par le préfixe xn--. 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).

Fichiers de configuration

Cet élément peut être défini dans le fichier de configuration de l'application ou dans le fichier de configuration de l'ordinateur (Machine.config).

Exemple

L’exemple suivant montre une configuration utilisée par la classe Uri pour prendre en charge l’analyse IRI et les noms IDN :

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

Voir aussi