<baseAddressPrefixFilters>
パススルー フィルタを指定する構成要素のコレクションを表します。パススルー フィルタには、インターネット インフォメーション サービス (IIS) で Windows Communication Foundation (WCF) アプリケーションをホストする場合に適切な IIS バインドを選択する機構が用意されています。
<system.serviceModel>
<serviceHostingEnvironment>
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="string"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
属性および要素
属性
なし。
子要素
要素 | 説明 |
---|---|
サービス ホストによって使用されるベース アドレスのプレフィックス フィルタを指定する構成要素を追加します。 |
親要素
要素 | 説明 |
---|---|
環境をホストするサービスがインスタンス化する特定のトランスポートの型を定義します。 |
解説
プレフィックス フィルタは、サービスによって使用される URI を、共有ホスティング プロバイダが指定できるようにする手段を提供します。これにより、共有ホストは、同じサイト上の同じスキームに対して、別々のベース アドレスを使用して複数のアプリケーションをホストできるようになります。
IIS Web サイトは、仮想ディレクトリを含む仮想アプリケーションのコンテナです。サイト内のアプリケーションには、1 つ以上の IIS バインディングからアクセスできます。IIS バインディングは、バインディング プロトコルとバインディング情報という 2 つの情報を提供します。バインディング プロトコル (HTTP など) は通信を行うスキームを定義し、バインディング情報 (IP アドレス、ポート、ホスト ヘッダーなど) にはサイトにアクセスするために使用するデータが含まれます。
IIS では、サイトごとに複数の IIS バインディングを指定できるので、各スキームに複数のベース アドレスが定義されることがあります。これに対して、サイトでホストされる WCF サービスでは、スキームごとに 1 つのベース アドレスにしかバインドできません。そこで、プレフィックス フィルタ機能を使用すると、ホストされるサービスの必要なベース アドレスを選択できます。IIS によって指定される受信ベース アドレスは、オプションのプレフィックス リスト フィルタに基づいてフィルタ処理されます。
たとえば、サイトに次のベース アドレスが含まれているとします。
http://testl.fabrikam.com/Service.svc
http://test2.fabrikam.com/Service.svc
次の構成ファイルを使用して、appdomain レベルでプレフィックス フィルタを指定できます。
<system.serviceModel>
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix=”net.tcp://test1.fabrikam.com:8000”/>
<add prefix=”http://test2.fabrikam.com:9000”/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
</system.serviceModel>
この例では、net.tcp://test1.fabrikam.com:8000
と http://test2.fabrikam.com:9000
が、対応するスキームに渡される唯一のベース アドレスです。
既定では、プレフィックスを指定しない場合、すべてのアドレスが渡されます。プレフィックスだけを指定すると、そのスキームに一致するベース アドレスを渡すことができます。
![]() |
---|
フィルタでワイルドカードはサポートされません。また、IIS が提供する baseAddresses には、baseAddressPrefixFilters リストに存在しない他のスキームにバインドされたアドレスが含まれる場合があります。これらのアドレスはフィルタで除外されません。 |
関連項目
リファレンス
BaseAddressPrefixFilterElementCollection
ServiceHostingEnvironmentSection
ServiceHostingEnvironment