Zum Inhalt springen

WCF-Service Metadaten nicht veröffentlicht


Sloenig

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

post-44539-14430449655203_thumb.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...