我将我的SDL Tridion 2011实例设置为使用多个主机标头运行,现在核心服务不起作用.我如何解决它?

Jer*_*ton 8 tridion

我最近配置了我的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"为真或指定"system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters"解决问题.参数名称:item.---> System.ArgumentException:此集合已包含方案http的地址.此集合中每个方案最多只能有一个地址.如果您的服务在IIS所驻留你可以通过设置"system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled"为真或指定"system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters"解决问题.

我该如何解决?

Rya*_*kin 9

您可以通过编辑Tridion UI和Core Service的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>
Run Code Online (Sandbox Code Playgroud)

  • multiSiteBindings在WebRoot\web.config中已经成立.它在webservices\web.config中根本不存在.添加它,并将其设置为true可修复问题. (2认同)