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:
"Geen"
"AllExceptIntranet"
"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.