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