国際化ドメイン名 (IDN) を使用する WCF サービスを許可するサポートが追加されました。 国際化ドメイン名は、ASCII 以外の文字を含むドメイン名です。 このサポートには、IDN 名を持つ WCF サービスをホストする機能と、IDN 名を持つ Web サービスと通信する WCF クライアントの両方が含まれます。
System.Uri と IDN
Uri には、 Host と DnsSafeHostの 2 つのプロパティがあります。 これらのプロパティには、IDN 構成設定に応じて Unicode または Punycode の値が含まれます。
次の XML を使用して、アプリケーションの構成ファイルで IDN が有効になっている
<configuration>
<uri>
<idn enabled="All/AllExceptIntranet/None" />
</uri>
</configuration>
<idn> 要素には、次のいずれかの値に設定できる enabled 属性が含まれています。
"なし"
"AllExceptIntranet"
"すべて"
IDN 設定が "None" に設定されている場合、Uri.Host または Uri.DnsSafeHost によって変換は実行されません。 IDN 設定が "All" に設定されている場合は、uri。ホストは Unicode と URI のままです。DnsSafeHost は Punycode に変換されます。 IDN 設定が "AllExceptIntranet" に設定されている場合は、uri。DnsSafeHost はインターネット アドレスの場合は Punycode に変換され、イントラネット アドレスの場合は Unicode のままです。 この設定は、正しい DNS 名前解決のために重要です。 この設定は、Windows 8 以降のバージョン用に構成する必要はありません。
Warnung
Punycode を使用してアドレスをハードコーディングしないでください。 WCF は、適用する構成設定に基づいて変換します。
Warnung
applicationHost.exe.configに Unicode 文字を追加する場合は、UTF-8 エンコードを使用してファイルを保存します。