<idn> 要素 (Uri 設定)
国際化ドメイン名 (IDN) の解析がドメイン名に適用されるかどうかを指定します。
configuration
<uri>
<idn>
構文
<idn
enabled="All|AllExceptIntranet|None"
/>
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
要素 | 説明 |
---|---|
enabled |
国際化ドメイン名 (IDN) の解析がドメイン名に適用されるかどうかを指定します。既定値は none です。 |
子要素
なし
親要素
要素 | 説明 |
---|---|
uri | .NET Framework での Uniform Resource Identifier (URI) を使用して表現された Web アドレスの処理方法を指定するための設定が含まれています。 |
解説
既存の Uri クラスは .NET Framework 3.5 で拡張されています。 3.0 SP1 と 2.0 SP1 では、International Resource Identifier (IRI) と国際化ドメイン名 (IDN) がサポートされます。 現在のユーザーは、自分で明確に IRI と IDN のサポートを有効にしない限り、.NET Framework 2.0 の動作からの変更に気付きません。 これにより、.NET Framework の以前のバージョンとのアプリケーションの互換性を保証します。
IRI のサポートを有効にするには、次の 2 つの変更が必要です。
.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 サーバーに応じて、次の 3 つの値を指定できます。
idn enabled = All
この値は、Unicode のドメイン名があれば、それを等価の Punycode (IDN 名) に変換します。
idn enabled = AllExceptIntranet
この値は、ローカル イントラネット上にないすべての Unicode ドメイン名を、等価の Punycode (IDN 名) を使用するように変換します。 このように、ローカルなイントラネットで国際名を処理する場合、このイントラネットで使用する DNS サーバーは Unicode 名の解決をサポートしている必要があります。
idn enabled = None
この値は、どの Unicode のドメイン名も、Punycode を使用するように変換しません。 これは、.NET Framework 2.0 の動作と一貫した既定値です。
IDN を有効にすると、ドメイン名に含まれるすべての Unicode のラベルが Punycode のラベルに変換されます。 Punycode 名には ASCII 文字のみが含まれ、常に xn-- プレフィックスで始まります。 この理由は、ほとんどの DNS サーバーは ASCII 文字しかサポートしていないため、インターネットで既存の DNS サーバーをサポートするためです (RFC 3940 を参照)。
構成ファイル
この要素は、アプリケーション構成ファイルまたはマシン構成ファイル (Machine.config) で使用できます。
例
次の例では、IRI 解析と IDN 名をサポートするために Uri クラスで使用される構成を示します。
<configuration>
<uri>
<idn enabled="All" />
<iriParsing enabled="true" />
</uri>
</configuration>
関連項目
.NET