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


<<добавление> baseAddressPrefixFilter>

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

<Конфигурации>
  <system.serviceModel>
    <serviceHostingEnvironment>
      <baseAddressPrefixFilters>
        <Добавить>

Синтаксис

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

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

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

Атрибуты

Атрибут Описание
prefix Универсальный код ресурса (URI), совпадающий с частью базового адреса.

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

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

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

Элемент Описание
<baseAddressPrefixFilters> Коллекция элементов конфигурации, определяющих сквозные фильтры, которые предоставляют механизм для выбора соответствующих привязок IIS при размещении приложения Windows Communication Foundation (WCF) в IIS.

Комментарии

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

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