我最近将 SDL Tridion 2011 CME 配置为使用多个主机标头。为了使 CME 能够加载,我在相应的 web.config 中设置了 WCF.RedirectTo。但是,我的核心服务不再起作用。我收到以下错误:
WebHost 无法处理请求。
发件人信息:System.ServiceModel.ServiceHostingEnvironment+HostingManager/63835064
异常:System.ServiceModel.ServiceActivationException:由于编译期间出现异常,无法激活服务“/webservices/CoreService.svc”。异常消息是:此集合已包含方案为 http 的地址。该集合中的每个方案最多可以有一个地址。如果您的服务托管在 IIS 中,您可以通过将“system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled”设置为 true 或指定“system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters”来解决该问题。
参数名称:项目。 ---> System.ArgumentException:此集合已包含方案为 http 的地址。该集合中的每个方案最多可以有一个地址。如果您的服务托管在 IIS 中,您可以通过将“system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled”设置为 true 或指定“system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters”来解决该问题。
我该如何解决?
您可以通过编辑 Tridion UI 和核心服务的 web.config 来启用多个站点绑定:
- 打开 [Tridion 安装文件夹]\web\WebUI\WebRoot\ 中的 web.config
- 找到 serviceHostingEnvironment 部分 向该节点添加一个新属性 multipleSiteBindingsEnabled="true"
- 这应该看起来像
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">
- 保存文件
- 打开 [Tridion 安装文件夹]\webservices\ 中的 web.config
- 找到 serviceHostingEnvironment 部分
- 向该节点添加一个新属性 multipleSiteBindingsEnabled="true" 这应该看起来像
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">
- 保存文件
如果您不想为所有 URL 启用它,您可以为特定 URL 启用它,例如:
<system.serviceModel>
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<add prefix="http://test1.tridion.com"/>
<add prefix="http://test2.tridion.com"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
</system.serviceModel>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)