支持多个 IIS 站点绑定
在 Internet 信息服务 (IIS) 7.0 下承载 Windows Communication Foundation (WCF) 服务时,可能希望对同一站点提供使用同一协议的多个基址。这使得同一服务可以响应多个不同的 URI。在需要承载侦听 https://www.contoso.com 和 https://contoso.com 的服务时,此功能非常有用。在创建对于内部用户和外部用户使用不同基址的服务时,此功能也非常有用。例如:http://internal.contoso.com 和 https://www.contoso.com。
注意: |
---|
此功能仅在使用 HTTP 协议时可用。 |
多个基址
此功能仅适用于在 IIS 下承载的 WCF 服务。默认情况下不启用此功能。若要启用此功能,必须将 multipleSiteBindingsEnabled 特性添加到 Web.config 文件中的 <serviceHostingEnvironment> 元素,并将该特性设置为 true,如下面的示例所示。
<serviceHostingEnvironment multipleSiteBindingsEnabled=”true”/>
在 IIS 下承载 WCF 服务时,IIS 将根据包含应用程序的虚拟目录的 URI 创建一个基址。您可以通过 Internet 信息服务管理器添加使用相同协议的其他基址,从而向网站添加一个或多个绑定。对于每个绑定,请指定协议(HTTP 或 HTTPS)、IP 地址、端口和主机名。有关使用 Internet 信息服务管理器的更多信息,请参见 IIS 管理器 (IIS 7)(可能为英文网页)。有关向站点添加绑定的更多信息,请参见创建网站 (IIS 7)(可能为英文网页)。
为同一站点指定多个基址会影响 WCF 帮助页的内容、导入架构和由服务生成的 WSDL/MEX 信息。WCF 帮助页显示用于生成与服务通信的 WCF 客户端的命令行。此命令行只包含在 IIS 绑定中为网站指定的第一个地址。与导入方案时相似,只使用在 IIS 绑定中指定的第一个基址。WSDL 和 MEX 数据包含在 IIS 绑定中指定的所有基址。
警告: |
---|
这意味着,如果某个服务有两个基址,其中一个供内部用户使用,另一个供外部用户使用,将在由该服务生成的 WSDL/MEX 信息中指定这两个基址。 |