Sloenig Geschrieben 25. Juli 2013 Teilen Geschrieben 25. Juli 2013 Hallo zusammen, ich versuche mich grad zum ersten mal an einem WCF-Service unter C#. Hab mir auch ein Tutorial im Netz gesucht, von dem ich dachte, dass es recht verständlich ist. Nun habe ich mehrere Projekte in meiner Solution, einmal das Service-Projekt und einmal das Projekt für einen Service Host. Wenn ich mir den Service Host im Browser anzeigen lassen, also die svc-datei, dann kommt immer eine Fehlermeldung, dass die Metadaten nicht veröffentlicht sind. Wenn ich die beschreibung befolge, wie ich sie veröffentliche, ändert sich nichts an der Fehlermeldung. Die Konfiguratiosndatei sieht folgendermaßen aus: <configuration> <system.serviceModel> <services> <!-- Hinweis: Der Dienstname muss dem Konfigurationsnamen für die Dienstimplementierung entsprechen. --> <service name="MVA_Service.InternalService" behaviorConfiguration="MyServiceTypeBehaviors" > <!-- Fügen Sie folgenden Endpunkt hinzu. --> <!-- Hinweis: Der Dienst muss über eine HTTP-Basisadresse verfügen, um diesen Endpunkt hinzuzufügen. --> <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" /> </service> </services> <behaviors> <serviceBehaviors> <behavior name="MyServiceTypeBehaviors" > <!-- Fügen Sie der Dienstverhaltenskonfiguration folgendes Element hinzu. --> <serviceMetadata httpGetEnabled="true" /> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> </configuration> Ich hoffe jemand kann mir helfen! Danke schonmal Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 25. Juli 2013 Teilen Geschrieben 25. Juli 2013 Moin, ich sehe keinen Endpunkt für den eigentlichen Dienst ?! Unter Service müssten mindestens 2 Endpoints auftauchen. 1.) Der Endpoint für den Dienst. 2.) Der Endpoint für die Metadaten Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sloenig Geschrieben 25. Juli 2013 Autor Teilen Geschrieben 25. Juli 2013 Also ich hab das jetzt folgendermaßen geändert, leider immernoch der gleiche Fehler bzw. die gleiche Meldung: <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <services> <service name="MVA_Services.InternalService" behaviorConfiguration="SimpleServiceBehavior"> <endpoint address="MVA_Objects" binding="basicHttpBinding" contract="MVA_Objects.IInternalInterface" /> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> <behaviors> <serviceBehaviors> <behavior name="SimpleServiceBehavior"> <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" policyVersion="Policy12" /> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> </configuration> Wie man sieht, ist die eigentliche Implementierung des Interfaces und das Interface selbst in einem Unterschiedlichen Namespace. Die Webanwendung läuft ebenfalls in einem eigenen Namespace. Die SVC-Datei hat folgenden Inhalt: <%@ ServiceHost Language="C#" Debug="true" Service="MVA_Services.InternalService" %> Ich hab echt kein plan was man da anders machen soll, hab schon mehrfach im Internet gesucht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lbm1305 Geschrieben 25. Juli 2013 Teilen Geschrieben 25. Juli 2013 Code funktioniert bei mir so. [ServiceContract] public interface IDemoService { [OperationContract] string GetMessage(); } public class DemoService : IDemoService { public string GetMessage() { return "Hallo Welt"; } } <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="DemoServiceBehavior"> <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" policyVersion="Policy12"/> <serviceDebug includeExceptionDetailInFaults="true"/> </behavior> </serviceBehaviors> </behaviors> <services> <service name="WcfServiceDemo.DemoService" behaviorConfiguration="DemoServiceBehavior"> <endpoint address="" binding="basicHttpBinding" contract="WcfServiceDemo.Contracts.IDemoService" /> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel> Die Projektstruktur Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.