Поделиться через


<baseAddressPrefixFilters>

Представляет коллекцию элементов конфигурации, определяющих сквозные фильтры, которые предоставляют механизм для выбора соответствующих привязок служб IIS при размещении приложения Windows Communication Foundation (WCF) в СЛУЖБАх IIS.

Предупреждение

<BaseAddressPrefixFilters> не распознает "localhost"; вместо этого используется полное имя компьютера.

<Конфигурации>
  <system.serviceModel>
    <serviceHostingEnvironment>
      <baseAddressPrefixFilters>

Синтаксис

<serviceHostingEnvironment>
  <baseAddressPrefixFilters>
    <add prefix="String" />
   </baseAddressPrefixFilters>
</serviceHostingEnvironment>

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Отсутствует.

Дочерние элементы

Элемент Описание
<добавление> Добавляет элемент конфигурации, который задает префиксный фильтр для базовых адресов, используемых узлом службы.

Родительские элементы

Элемент Описание
<serviceHostingEnvironment> Определяет, какой тип среда размещения служб создает для конкретного транспорта.

Комментарии

Префиксный фильтр предоставляет способ для общих поставщиков услуг размещения задать, какие URI должны использоваться службой. Это дает возможность общим узлам размещать несколько приложений с разными базовыми адресами для одной схемы на одном узле.

Веб-узлы IIS являются контейнерами виртуальных приложений, содержащими виртуальные каталоги. Доступ к приложению на узле можно осуществлять через одну или несколько привязок службы IIS. Привязки IIS предоставляют два блока данных: протокол привязки и данные привязки. Протокол привязки (например, HTTP) определяет схему, посредством которой осуществляется связь, а данные привязки (например, IP-адрес, порт, заголовок узла) содержат сведения, используемые для доступа к узлу.

IIS поддерживает задание нескольких привязок IIS для каждого узла, что позволяет использовать несколько базовых адресов для каждой схемы. Так как служба WCF, размещенная на сайте, допускает привязку только к одному базовому адресу для каждой схемы, можно использовать функцию фильтра префиксов, чтобы выбрать необходимый базовый адрес размещенной службы. Входящие базовые адреса, предоставляемые IIS, фильтруются с использованием дополнительного фильтра списка префиксов.

Например, сайт может содержать следующие базовые адреса:

http://testl.fabrikam.com/Service.svc  
http://test2.fabrikam.com/Service.svc  

Для задания префиксного фильтра на уровне домена приложений можно использовать следующий файл конфигурации.

<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, могут присутствовать адреса, привязанные к другим схемам, не представленным в списке baseAddressPrefixFilters. Эти адреса не фильтруются.

См. также раздел