共用方式為


WCF 和國際化域名

已新增支援,以允許使用國際化功能變數名稱 (IDN) 的 WCF 服務。 國際化網域名稱是包含非 ASCII 字元的網域名稱。 這項支援包括承載具有IDN名稱的WCF服務,以及使用IDN名稱與網頁服務通訊的WCF用戶端。

System.Uri 和 IDN

Uri 有兩個屬性 HostDnsSafeHost。 這些屬性包含 Unicode 或 Punycode 值,視 IDN 組態設定而定。

IDN 會使用下列 XML 在應用程式的組態檔中啟用

<configuration>  
  <uri>  
    <idn enabled="All/AllExceptIntranet/None" />  
  </uri>  
</configuration>  

<idn> 元素包含已啟用的屬性,可以設定為下列其中一個值:

  1. “AllExceptIntranet”

  2. “All”

當IDN設定設為 「None」時,Uri.Host 或 Uri.DnsSafeHost 不會執行任何轉換。 當 IDN 設定設為『All』時,uri.Host 會維持 Unicode,而 uri.DnsSafeHost 會轉換為 Punycode。 當IDN設定設為 「AllExceptIntranet」 時,uri。DnsSafeHost 會針對因特網位址轉換成 Punycode,而且會保留內部網路位址的 Unicode。 此設定對於正確的 DNS 名稱解析很重要。 請注意,不需要針對 Windows 8 和更新版本設定此設定。

警告

您絕對不應該使用 Punycode 將位址硬式編碼。 WCF 會根據您套用的組態設定為您轉換它。

警告

將 Unicode 字元新增至 applicationHost.exe.config時,請使用 UTF-8 編碼儲存盤案。

另請參閱