Share via


<idn> 要素 (Uri 設定)

更新 : 2007 年 11 月

国際化ドメイン名 (IDN: Internationalized Domain Name) による解析をドメイン名に適用するかどうかを指定します。

スキーマの階層

<configuration> 要素

    <Uri> 要素 (Uri 設定)

        <idn> 要素 (Uri 設定)

構文

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

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

要素

説明

enabled

ドメイン名に国際化ドメイン名 (IDN: Internationalized Domain Name) による解析を適用するかどうかを指定します。既定値は None です。

子要素

なし

親要素

要素

説明

uri

URI (Uniform Resource Identifier) で表現された Web アドレスが .NET Framework によってどのように処理されるかの設定を格納します。

解説

.NET Framework 3.5、3.0 SP1、および 2.0 SP1 では、既存の Uri クラスが拡張され、IRI (International Resource Identifier) および国際化ドメイン名 (IDN: Internationalized Domain Name) をサポートするようになりました。明示的に IRI と IDN サポートを有効にしない限り、現在のユーザーには .NET Framework 2.0 の動作からの変更点はわかりません。これにより、以前のバージョンの .NET Framework との互換性が確保されます。

IRI のサポートを有効にするには、次の 2 点を変更する必要があります。

  1. .NET Framework 2.0 ディレクトリの machine.config ファイルに次の行を追加する。

    <section name="uri" type="System.Configuration.UriSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    
  2. ドメイン名に国際化ドメイン名 (IDN: Internationalized Domain Name) による解析を適用するかどうか、および IRI の解析規則を適用するかどうかを指定する。これは machine.config ファイルまたは app.config ファイルで行うことができます。

使用する DNS サーバーに応じて、IDN がとりうる値は次の 3 つです。

  • idn enabled = All

    この値の場合、Unicode のドメイン名があれば、それを等価の Punycode (IDN 名) に変換します。

  • idn enabled = AllExceptIntranet

    この値の場合、ローカルなイントラネット上にないすべての Unicode ドメイン名を、等価の Punycode (IDN 名) を使用するように変換します。このように、ローカルなイントラネットで国際名を処理する場合、このイントラネットで使用する DNS サーバーは Unicode の名前解決をサポートしている必要があります。

  • idn enabled = None

    この値の場合、どの Unicode のドメイン名も、Punycode (IDN 名) を使用するように変換しません。これが既定値であり、.NET Framework 2.0 の動作と同じです。

IDN を有効にすると、ドメイン名に含まれるすべての Unicode ラベルが等価の Punycode に変換されます。Punycode 名は ASCII 文字だけで構成され、必ず xn-- というプレフィックスで始まります。この目的は、インターネット上の既存の DNS サーバーをサポートすることです。ほとんどの DNS サーバーは、ASCII 文字しかサポートしていません (RFC 3940 を参照)。

構成ファイル

この要素は、アプリケーション構成ファイルまたはマシン構成ファイル (Machine.config) で使用できます。

説明

次のコード例は、Uri クラスで IRI の解析および IDN 名をサポートするための構成を示しています。

コード

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

参照

参照

ネットワーク設定スキーマ

System.Configuration.IdnElement

System.Configuration.UriSection