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


Поддержка нескольких привязок узла IIS

При размещении службы Windows Communication Foundation (WCF) в службы IIS (IIS) 7.0 может потребоваться предоставить несколько базовых адресов, использующих один и тот же протокол на одном сайте. Это позволяет одной и той же службе отвечать на несколько разных URI. Это полезно, если требуется разместить службу, которая прослушивает http://www.contoso.com и http://contoso.com. Также может использоваться при создании службы, имеющей базовый адрес для внутренних пользователей и отдельный базовый адрес для внешних пользователей. Например, http://internal.contoso.com и http://www.contoso.com.

Примечание.

Эта функция доступна только при использовании протокола HTTP.

Несколько базовых адресов

Эта функция доступна только службам WCF, размещенным в службах IIS. По умолчанию эта функция не включена. Чтобы включить его, необходимо добавить multipleSiteBindingsEnabled атрибут <serviceHostingEnvironment> в элемент в файле web.config и задать его значение true, как показано в следующем примере.

<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>

При размещении службы WCF в службах IIS службы IIS создает один базовый адрес для вас на основе URI виртуального каталога, содержащего приложение. Чтобы добавить одну или несколько привязок, можно с помощью диспетчера служб IIS добавить на веб-сайт дополнительные базовые адреса, использующие тот же протокол. Для каждой привязки укажите протокол (HTTP или HTTPS), IP-адрес, порт и имя узла. Дополнительные сведения об использовании диспетчера службы IIS см. в разделе IIS Manager (IIS 7). Дополнительные сведения о добавлении привязок на сайт см. в разделе "Создание веб-сайта" (IIS 7)

Указание нескольких базовых адресов для одного сайта влияет на содержимое страницы справки WCF, импорта схемы и сведений WSDL/MEX, созданных службой. На странице справки WCF отображается командная строка, используемая для создания клиента WCF, который может взаимодействовать со службой. Эта командная строка содержит только первый адрес, указанный в привязке служб IIS для веб-сайта. Аналогичным образом при импорте схемы используется только первый базовый адрес, указанный в привязке служб IIS. Данные WSDL и MEX содержит все базовые адреса, указанные в привязках служб IIS.

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

Это означает, что если служба имеет два базовых адреса (для внутренних и для внешних пользователей), то оба они указываются в данных WSDL/MEX, сформированных службой.