2012-02-24 5 views
8

Recientemente configuré mi SDL Tridion 2011 CME para usar múltiples encabezados de host. Para habilitar la carga del CME, configuro WCF.RedirectTo en el web.config apropiado. Sin embargo, mi servicio principal ya no funciona. Me aparece el siguiente error:Configuré mi instancia de SDL Tridion 2011 para ejecutar con múltiples encabezados de host y ahora el servicio principal no funciona. ¿Cómo lo arreglo?

WebHost failed to process a request. Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/63835064 Exception: System.ServiceModel.ServiceActivationException: The service '/webservices/CoreService.svc' cannot be activated due to an exception during compilation. The exception message is: This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled' to true or specifying 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'. Parameter name: item. ---> System.ArgumentException: This collection already contains an address with scheme http. There can be at most one address per scheme in this collection. If your service is being hosted in IIS you can fix the problem by setting 'system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled' to true or specifying 'system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters'.

¿Cómo puedo solucionar esto?

Respuesta

9

Puede permitido a los múltiples enlaces de sitio mediante la edición del web.config para el Tridion interfaz de usuario y el Servicio básico:

  • Abrir el web.config en [Tridion carpeta de instalación] \ web \ WebUI \ WebRoot \
  • encontrar la sección serviceHostingEnvironment Añadir un nuevo atributo a ese nodo para multipleSiteBindingsEnabled = "true"
  • Esto debería parecerse a <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">
  • Guardar el archivo
  • Abrir el web.config en [Tridion carpeta de instalación] \ webservices \
  • encontrar la sección serviceHostingEnvironment
  • Añadir un nuevo atributo a ese nodo para multipleSiteBindingsEnabled = "true" Esto debería parecerse a <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">
  • Guardar el archivo

Si no desea activarlo para todos los URL de que puede habilitarlo para los específicos como:

<system.serviceModel> 
    <serviceHostingEnvironment> 
     <baseAddressPrefixFilters> 
      <add prefix="http://test1.tridion.com"/> 
      <add prefix="http://test2.tridion.com"/> 
     </baseAddressPrefixFilters> 
    </serviceHostingEnvironment> 
</system.serviceModel> 
+2

multipleSiteBindings ya era cierto en WebRoot \ nos b.config. No estaba presente en webservices \ web.config. Agregarlo y establecerlo en true corrigió el problema. –

Cuestiones relacionadas