<idn> 元素 (Uri 設定)

指定是否套用國際化網域名稱 (IDN) 剖析至網域名稱。

<設定>
  <uri>
    <idn>

Syntax

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

屬性和項目

下列章節說明屬性、子元素和父元素。

屬性

Element 說明
enabled 指定是否套用國際化網域名稱 (IDN) 剖析至網域名稱,若其預設值為無。

子元素

父元素

Element 說明
uri 包含設定,指定.NET Framework如何處理使用統一資源識別項 (URI) 表示的網址。

備註

現有 Uri 類別已在 .NET Framework 3.5 中擴充。 3.0 SP1 與 2.0 SP1 支援國際資源識別碼 (IRI) 與國際化網域名稱 (IDN)。 除非目前使用者特別啟用 IRI 和 IDN 支援,否則不會看到來自 .NET Framework 2.0 行為的任何變更。 這可確保應用程式與舊版 .NET framework 相容。

若要啟用 IRI 的支援,需進行下列兩項變更:

  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) 剖析至網域名稱,以及是否套用 IRI 剖析規則。 此作業可在 machine.config 或 app.config 檔案中完成。

根據所使用的 DNS 伺服器而定,IDN 具三種可能的值:

  • 已啟用 idn = 全部

    這個值會將任何 Unicode 網域名稱轉換成 Punycode 的對等名稱 (IDN 名稱)。

  • 已啟用 idn = AllExceptIntranet

    此值會將不在區域內部網路的所有 Unicode 網域名稱轉換成使用 Punycode 對等名稱 (IDN 名稱)。 在此情況,若要在區域內部網路處理國際性名稱,則用於內部網路的 DNS 伺服器應支援 Unicode 名稱解析。

  • 已啟用 idn = 無

    這個值不會轉換任何 Unicode 網域名稱即可使用 Punycode。 這是預設值,與 .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>

另請參閱