<idn> Элемент (параметры URI)

Указывает, применяется ли синтаксический анализ международного доменного имени (IDN) к домену.

<configuration>   <uri>     <idn>

Синтаксис

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

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Attributes

Элемент Описание
enabled Указывает, применяется ли синтаксический анализ международного доменного имени (IDN) к домену, значение по умолчанию не имеет значения.

Дочерние элементы

None

Родительские элементы

Элемент Описание
ури Содержит параметры, указывающие, как платформа .NET Framework обрабатывает веб-адреса, выраженные с помощью универсальных идентификаторов ресурсов (URI).

Замечания

Существующий Uri класс был расширен в .NET Framework 3.5. 3.0 с пакетом обновления 1 (SP1) и 2.0 с пакетом обновления 1 (SP1) с поддержкой международных идентификаторов ресурсов (IRI) и международных доменных имен (IDN). Текущие пользователи не увидят никаких изменений в поведении .NET Framework 2.0, если они не поддерживают IRI и IDN. Это гарантирует совместимость приложений с предыдущими версиями .NET Framework.

Чтобы включить поддержку IRI, требуются следующие два изменения:

  1. Добавьте следующую строку в файл machine.config в каталоге .NET Framework 2.0:

    <section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    
  2. Укажите, следует ли применять синтаксический анализ международного доменного имени (IDN), а также следует ли применять правила синтаксического анализа IRI. Это можно сделать в machine.config или в файле app.config.

В зависимости от используемых DNS-серверов можно использовать три возможных значения идентификаторов:

  • idn enabled = All

    Это значение преобразует любые доменные имена Юникода в эквиваленты Punycode (имена IDN).

  • idn enabled = AllExceptIntranet

    Это значение преобразует все доменные имена Юникода, а не в локальной интрасети, чтобы использовать эквиваленты Punycode (имена IDN). В этом случае для обработки международных имен в локальной интрасети DNS-серверы, используемые для интрасети, должны поддерживать разрешение имен Юникода.

  • idn enabled = None

    Это значение не преобразует доменные имена Юникода в использование Punycode. Это значение по умолчанию, которое соответствует поведению .NET Framework 2.0.

Включение IDN преобразует все метки Юникода в доменное имя в эквиваленты Punycode. Имена Punycode содержат только символы ASCII и всегда начинаются с префикса xn-- . Причина этого заключается в поддержке существующих DNS-серверов в Интернете, так как большинство DNS-серверов поддерживают только символы ASCII (см. RFC 3940).

Файлы конфигурации

Этот элемент можно использовать в файле конфигурации приложения или файле конфигурации компьютера (Machine.config).

Example

В следующем примере показана конфигурация, используемая Uri классом для поддержки синтаксического анализа IRI и имен idN:

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

См. также