Поддержка нескольких привязок узла IIS
При размещении службы Windows Communication Foundation (WCF) в каталоге служб IIS 7.0 может понадобиться предоставить несколько базовых адресов, использующих один и тот же протокол на одном и том же узле. Это позволяет одной и той же службе отвечать на несколько разных URI. Это может оказаться полезным в том случае, если необходимо разместить службу, следящую за https://www.contoso.com и https://contoso.com, Также может использоваться при создании службы, имеющей базовый адрес для внутренних пользователей и отдельный базовый адрес для внешних пользователей. Пример: http://internal.contoso.com и https://www.contoso.com.
![]() |
---|
Эта функция доступна только при использовании протокола HTTP. |
Несколько базовых адресов
Данная функция доступна только в службах WCF, размещенных в службах IIS. Эта функция отключена по умолчанию. Чтобы включить ее, необходимо добавить атрибут multipleSiteBindingsEnabled в элемент <serviceHostingEnvironment> в файле Web.config и задать для него значение true, как показано в следующем примере.
<serviceHostingEnvironment multipleSiteBindingsEnabled=”true”/>
При размещении службы WCF в службах IIS создается один базовый адрес на основе URI в виртуальном каталоге, содержащем приложение. Чтобы добавить одну или несколько привязок, можно с помощью диспетчера служб IIS добавить на веб-сайт дополнительные базовые адреса, использующие тот же протокол. Для каждой привязки укажите протокол (HTTP или HTTPS), IP-адрес, порт и имя узла. Дополнительные сведения об использовании диспетчера служб IIS см. в разделе Диспетчер служб IIS (IIS 7). Дополнительные сведения о добавлении привязок к сайту см. в разделе Создание нового веб-сайта (IIS 7)
Указание нескольких базовых адресов для одного и того же узла влияет на содержимое страницы справки WCF, импорт схемы и сведения WSDL/MEX, сформированные службой. Страница справки WCF отображает командную строку для создания клиента WCF, способного взаимодействовать со службой. Эта командная строка содержит только первый адрес, указанный в привязке служб IIS для веб-сайта. Аналогичным образом при импорте схемы используется только первый базовый адрес, указанный в привязке служб IIS. Данные WSDL и MEX содержит все базовые адреса, указанные в привязках служб IIS.
![]() |
---|
Это означает, что если служба имеет два базовых адреса (для внутренних и для внешних пользователей), то оба они указываются в данных WSDL/MEX, сформированных службой. |