次の方法で共有


WCF と国際化ドメイン名

国際化ドメイン名 (IDN) を使用する WCF サービスを許可するサポートが追加されました。 国際化ドメイン名は、ASCII 以外の文字を含むドメイン名です。 このサポートには、IDN 名を持つ WCF サービスをホストする機能と、IDN 名を持つ Web サービスと通信する WCF クライアントの両方が含まれます。

System.Uri と IDN

Uri には、 HostDnsSafeHostの 2 つのプロパティがあります。 これらのプロパティには、IDN 構成設定に応じて Unicode または Punycode の値が含まれます。

次の XML を使用して、アプリケーションの構成ファイルで IDN が有効になっている

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

<idn> 要素には、次のいずれかの値に設定できる enabled 属性が含まれています。

  1. "なし"

  2. "AllExceptIntranet"

  3. "すべて"

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 エンコードを使用してファイルを保存します。

こちらも参照ください