2012-02-24 3 views
8

Niedawno skonfigurowałem CME SDL Tridion 2011 CME do korzystania z wielu nagłówków hosta. Aby umożliwić załadowanie CME ustawiłem WCF.RedirectTo w odpowiednim pliku web.config. Jednak moja podstawowa usługa nie działa. Pojawia się następujący błąd:Skonfigurowałem moją instancję SDL Tridion 2011, aby działała z wieloma nagłówkami hosta, a teraz usługa podstawowa nie działa. Jak mogę to naprawić?

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'.

Jak to naprawić?

Odpowiedz

9

Można pozwoliły wielu powiązań witryn poprzez edycję pliku web.config dla Tridion UI i Służby Rdzeń:

  • Otwórz web.config w [Tridion Install Folder] \ web \ WebUI \ WebRoot \
  • znajdź sekcję serviceHostingEnvironment Dodaj nowy atrybut do tego węzła dla multipleSiteBindingsEnabled = „true”
  • ten powinien następnie wyglądać <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">
  • zapisać plik
  • Otwórz web.config w [Tridion Install Folder] \ sieciowe \
  • Znajdź sekcję serviceHostingEnvironment
  • Dodaj nowy atrybut do tego węzła dla multipleSiteBindingsEnabled = "true" To powinno wtedy wyglądać <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true">
  • zapisać plik

Jeśli nie chcesz, aby włączyć go do wszystkich URL można włączyć go do konkretnych tacy jak:

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

multipleSiteBindings było już prawdą w WebRoot \ my b.config. Nie było go w ogóle w webservices \ web.config. Dodanie go i ustawienie go na true naprawiło problem. –

Powiązane problemy