Sdílet prostřednictvím


WCF a mezinárodní názvy domén

Byla přidána podpora umožňující služby WCF s internationalizovanými názvy domén (IDN). Mezinárodní název domény je název domény, který obsahuje jiné znaky než ASCII. Tato podpora zahrnuje možnost hostovat službu WCF s názvem IDN a klientem WCF pro komunikaci s webovou službou s názvem IDN.

System.Uri a IDN

Uri má dvě vlastnosti Host a DnsSafeHost. Tyto vlastnosti obsahují hodnoty Unicode nebo Punycode v závislosti na nastavení konfigurace IDN.

IdN je povolené v konfiguračním souboru aplikace pomocí následujícího kódu XML.

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

Element <idn> obsahuje povolený atribut, který lze nastavit na jednu z následujících hodnot:

  1. "Žádný"

  2. "AllExceptIntranet"

  3. "Vše"

Pokud je nastavení IDN nastaveno na None(Žádný), nebudou provedeny žádné převody Uri.Host nebo Uri.Dns Sejf Host. Pokud je nastavení IDN nastaveno na "Vše", identifikátor URI. Hostitel zůstává unicode a identifikátor URI. Dns Sejf Host se převede na Punycode. Pokud je nastavení IDN nastaveno na AllExceptIntranet, identifikátor URI. Dns Sejf Host se převede na punycode pro internetové adresy a zůstane Unicode pro intranetové adresy. Toto nastavení je důležité pro správné překlad názvů DNS. Všimněte si, že toto nastavení není nutné konfigurovat pro Windows 8 a novější verze.

Upozorňující

Nikdy byste neměli pevně zakódovat adresu pomocí punycode. WCF ji převede za vás na základě nastavení konfigurace, která použijete.

Upozorňující

Při přidávání znaků Unicode do applicationHost.exe.config uložte soubor pomocí kódování UTF-8.

Viz také