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