<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 的支援,需進行下列兩項變更:
將下列這一行新增至 .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 檔案中完成。
根據所使用的 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>