< (Uri 設定的 idn > 元素)

指定是否將國際化功能變數名稱 (IDN) 剖析套用至功能變數名稱。

配置
  Uri
    Idn>

Syntax

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

屬性和項目

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

屬性

Element 說明
enabled 指定是否將「國際化功能變數名稱 (IDN) 剖析套用至功能變數名稱,預設值為「無」。

子元素

父元素

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

備註

現有 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 功能變數名稱轉換成使用 (IDN 名稱) 的 Punycode 對應專案。 在此情況下,若要處理近端內部網路上的國際名稱,用於內部網路的 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>

另請參閱