指定是否将国际化域名(IDN)分析应用于域名。
Syntax
<idn
enabled="All|AllExceptIntranet|None"
/>
特性和元素
下列各节描述了特性、子元素和父元素。
特性
| 元素 | 说明 |
|---|---|
enabled |
指定是否将国际化域名(IDN)分析应用于域名。默认值为 none。 |
子元素
None
父元素
| 元素 | 说明 |
|---|---|
| uri | 包含指定 .NET Framework 如何处理使用统一资源标识符(URI)表示的 Web 地址的设置。 |
注解
现有 Uri 类已在 .NET Framework 3.5 中扩展。 支持国际资源标识符(IRI)和国际化域名(IDN)的 3.0 SP1 和 2.0 SP1。 当前用户不会看到 .NET Framework 2.0 行为的任何更改,除非他们专门启用 IRI 和 IDN 支持。 这可确保应用程序与早期版本的 .NET Framework 兼容。
若要启用对 IRI 的支持,需要以下两项更改:
将以下行添加到 .NET Framework 2.0 目录下的 machine.config 文件:
<section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />指定是否希望将国际化域名(IDN)分析应用于域名,以及是否应应用 IRI 分析规则。 这可以在 machine.config 或 app.config 文件中完成。
IDN 有三个可能的值,具体取决于使用的 DNS 服务器:
idn enabled = All
此值会将任何 Unicode 域名转换为其 Punycode 等效项(IDN 名称)。
idn enabled = AllExceptIntranet
此值将转换本地 Intranet 上所有 Unicode 域名,以使用 Punycode 等效项(IDN 名称)。 在这种情况下,若要处理本地 Intranet 上的国际名称,用于 Intranet 的 DNS 服务器应支持 Unicode 名称解析。
idn enabled = None
此值不会将任何 Unicode 域名转换为使用 Punycode。 这是与 .NET Framework 2.0 行为一致的默认值。
启用 IDN 会将域名中的所有 Unicode 标签转换为其 Punycode 等效项。 Punycode 名称仅包含 ASCII 字符,并且始终以 xn- 前缀开头。 原因是支持 Internet 上的现有 DNS 服务器,因为大多数 DNS 服务器仅支持 ASCII 字符(请参阅 RFC 3940)。
配置文件
此元素可用于应用程序配置文件或计算机配置文件(Machine.config)。
Example
以下示例演示类用于 Uri 支持 IRI 分析和 IDN 名称的配置:
<configuration>
<uri>
<idn enabled="All" />
<iriParsing enabled="true" />
</uri>
</configuration>