Wiem, że to pytanie było wielokrotnie zadawane i wiele razy odpowiadał, ale wszystkie dostarczone próbki, które powinny pracować don Wydaje mi się, że chcesz dzisiaj pracować dla mnie.mexHttpBinding - Dodaj ServiceMetadataBehavior do pliku konfiguracyjnego lub do ServiceHost bezpośrednio, aby włączyć obsługę tego kontraktu
Kiedy próbuję uruchomić hosta, wciąż otrzymuję następujący błąd:.
„Nazwa kontraktu«IMetadataExchange»nie można odnaleźć na liście zamówień realizowanych przez TraceService serwisu Dodaj ServiceMetadataBehavior do plik konfiguracyjny lub bezpośrednio do ServiceHost, aby umożliwić obsługę tego kontraktu. "
Moja usługa jest obsługiwana w zarządzanym hoście usługi Windows, jak na przykład Microsoft: http://msdn.microsoft.com/en-us/library/ms733069%28v=vs.90%29.aspx
i tu jest mój miły i prosty config:
<system.serviceModel>
<services>
<service name="Daff.Lae.Service.TraceService">
<endpoint address="" binding="wsHttpBinding" name="TraceService" contract="Contracts.Service.ITraceService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/TraceService" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="DefaultBehavior">
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Oczywiście, problem staje się bardziej interesująca, gdy nie ma błędów, jeśli usuniemy tę linię:
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
Każda pomoc będzie bardzo, bardzo, bardzo doceniona :)
domyślne zachowanie jest już obecne w mojej konfiguracji. – agAus
@agAus - Tak, ale nie określiłeś, że twoja usługa ma używać domyślnego zachowania. Musisz dodać atrybut "behaviorConfiguration" do elementu "service" w twojej konfiguracji, jak pokazano w mojej odpowiedzi. – RoccoC5
Zmieniono moją odpowiedź dla jasności. – RoccoC5