Delen via


WCF en geinternationaliseerde domeinnamen

Er is ondersteuning toegevoegd om WCF-services met Internationalized Domain Names (IDN) toe te staan. Een geinternationaliseerde domeinnaam is een domeinnaam die niet-ASCII-tekens bevat. Deze ondersteuning omvat zowel de mogelijkheid om een WCF-service te hosten met een IDN-naam als een WCF-client om te communiceren met een webservice met een IDN-naam.

System.Uri en IDN

Uri heeft twee eigenschappen Host en DnsSafeHost. Deze eigenschappen bevatten Unicode- of Punycode-waarden, afhankelijk van de IDN-configuratie-instellingen.

IDN is ingeschakeld in het configuratiebestand van een toepassing met behulp van de volgende XML

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

Het <idn-element> bevat het ingeschakelde kenmerk dat kan worden ingesteld op een van de volgende waarden:

  1. "Geen"

  2. "AllExceptIntranet"

  3. "Alles"

Wanneer de IDN-instelling is ingesteld op Geen, worden er geen conversies uitgevoerd door Uri.Host of Uri.DnsSafeHost. Wanneer de IDN-instelling is ingesteld op 'Alle', URI. Host blijft Unicode en URI. DnsSafeHost wordt geconverteerd naar Punycode. Wanneer de IDN-instelling is ingesteld op 'AllExceptIntranet', URI. DnsSafeHost wordt geconverteerd naar Punycode voor internetadressen en blijft Unicode voor intranetadressen. Deze instelling is belangrijk voor de juiste DNS-naamomzetting. Houd er rekening mee dat deze instelling niet hoeft te worden geconfigureerd voor Windows 8 en nieuwere versies.

Waarschuwing

U moet nooit een adres coderen met punycode. WCF converteert deze voor u op basis van de configuratie-instellingen die u toepast.

Waarschuwing

Wanneer u Unicode-tekens toevoegt aan applicationHost.exe.config, slaat u het bestand op met behulp van de UTF-8-codering.

Zie ook