<baseAddressPrefixFilter> の <add>
パススルー フィルターを指定する構成要素を表します。パススルー フィルターには、インターネット インフォメーション サービス (IIS) で Windows Communication Foundation (WCF) アプリケーションをホストする場合に適切な IIS バインディングを選択する機構が用意されています。
configuration
system.serviceModel
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add>
構文
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="String" />
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 | 説明 |
---|---|
prefix | ベース アドレスの一部の一致に使用される URI。 |
子要素
なし。
親要素
要素 | 説明 |
---|---|
<baseAddressPrefixFilters> | パススルー フィルターを指定する構成要素のコレクション。パススルー フィルターには、IIS で Windows Communication Foundation (WCF) アプリケーションをホストする場合に適切な IIS バインディングを選択する機構が用意されています。 |
解説
プレフィックス フィルターは、サービスによって使用される 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
はそれぞれのスキームにおいて、そのまま渡すことができる唯一のベース アドレスです。
既定では、プレフィックスを指定しない場合、すべてのアドレスが渡されます。 プレフィックスだけを指定すると、そのスキームに一致するベース アドレスを渡すことができます。
Note
フィルターでワイルドカードはサポートされません。 また、IIS が提供する baseAddresses には、baseAddressPrefixFilters
リストに存在しない他のスキームにバインドされたアドレスが指定される場合があります。 これらのアドレスはフィルターで除外されません。
関連項目
.NET