WCF dan Nama Domain Internasional

Dukungan telah ditambahkan untuk memungkinkan layanan WCF dengan Nama Domain Internasional (IDN). Nama domain internasional adalah nama domain yang berisi karakter non-ASCII. Dukungan ini mencakup kemampuan untuk menghosting layanan WCF dengan nama IDN dan klien WCF untuk berkomunikasi dengan layanan web dengan nama IDN.

System.Uri dan IDN

Uri memiliki dua properti Host dan DnsSafeHost. Properti ini berisi nilai Unicode atau Punycode bergantung pada pengaturan konfigurasi IDN.

IDN diaktifkan dalam file konfigurasi aplikasi menggunakan XML berikut

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

Elemen <idn> berisi atribut yang diaktifkan dan dapat diatur ke salah satu nilai berikut:

  1. "Tidak Ada"

  2. "AllExceptIntranet"

  3. "All"

Saat pengaturan IDN diatur ke "None", tidak ada konversi yang dilakukan oleh Uri.Host atau Uri.DnsSafeHost. Saat pengaturan IDN diatur ke "All", uri. Host tetap Unicode dan uri. DnsSafeHost dikonversi ke Punycode. Saat pengaturan IDN ditetapkan ke "AllExceptIntranet", uri. DnsSafeHost dikonversi ke Punycode untuk alamat internet, dan tetap menjadi Unicode untuk alamat intranet. Pengaturan ini penting untuk resolusi nama DNS yang benar. Perhatikan bahwa pengaturan ini tidak perlu dikonfigurasikan untuk versi Windows 8 dan yang lebih baru.

Peringatan

Anda tidak boleh meng-hardcode alamat menggunakan Punycode. WCF akan mengonversinya untuk Anda berdasarkan pengaturan konfigurasi yang diterapkan.

Peringatan

Saat menambahkan karakter Unicode ke applicationHost.exe.config, simpan file menggunakan encoding UTF-8.

Lihat juga