複数の IIS サイト バインディングのサポート

インターネット インフォメーション サービス (IIS: Internet Information Services) 7.0 で Windows Communication Foundation (WCF) サービスをホストする場合は、同じサイトで同じプロトコルを使用する複数のベース アドレスを提供できます。 これにより、同じサービスで多数の異なる URI に応答できます。 これは、http://www.contoso.comhttp://contoso.com でリッスンするサービスをホストする場合に便利です。 また、内部ユーザー用に 1 つのベース アドレスを持ち、外部ユーザー用に別のベース アドレスを持つサービスを作成するのにも役立ちます。 たとえば、http://internal.contoso.comhttp://www.contoso.com などです。

Note

この機能は、HTTP プロトコルを使用してのみ、使用可能です。

複数のベース アドレス

この機能は、IIS でホストされている WCF サービスでのみ使用可能です。 この機能は、既定では有効にされません。 有効にするには、次の例に示すように、Web.config ファイルで multipleSiteBindingsEnabled 属性を <serviceHostingEnvironment> 要素に追加し、true に設定します。

<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>

IIS で WCF サービスをホストする場合、IIS では、アプリケーションを格納している仮想ディレクトリへの URI に基づいて、1 つのベース アドレスが作成されます。 インターネット インフォメーション サービス マネージャーを使用して、同じプロトコルを使用するベース アドレスを追加し、1 つ以上のバインディングを Web サイトに追加できます。 それぞれのバインディングに対して、プロトコル (HTTP または HTTPS)、IP アドレス、ポート、およびホスト名を指定します。 インターネット インフォメーション サービス マネージャーの使用の詳細については、「IIS マネージャー (IIS 7)」を参照してください。 サイトへのバインドの追加の詳細については、「Web サイトを作成する (IIS 7)」を参照してください。

同じサイトに複数のベース アドレスを指定すると、WCF のヘルプ ページ、スキーマのインポート、サービスによって生成される WSDL/MEX 情報に影響を及ぼします。 WCF のヘルプ ページには、サービスと通信できる WCF クライアントの生成に使用する、コマンド ラインが表示されます。 このコマンド ラインには、その Web サイト用の IIS バインディングで指定された最初のアドレスだけが含まれています。 同様に、スキーマをインポートするときには、IIS バインディングで指定された最初のベース アドレスだけが使用されます。 WSDL および MEX データには、IIS バインディングで指定されたすべてのベース アドレスが含まれています。

警告

つまり、サービスに 2 つのベース アドレス (1 つは内部ユーザー用、もう 1 つは外部ユーザー用) がある場合、サービスによって生成される WSDL/MEX 情報では、両方のベース アドレスが指定されます。