Frage

Was ist das bloße Minimum muss ich in web.config setzen WCF arbeiten mit REST zu bekommen? Ich habe meine Methoden kommentiert mit [WebGet], aber sie sind nicht die Nachricht zu bekommen.

War es hilfreich?

Lösung

Ich entdeckte, dass Sie die folgenden Funktionen der Servicehost-Direktive in der * SVC-Datei hinzufügen können, und es wird automatisch Setup WebHttpBinding und WebHttpBehavior für Sie:

Factory="System.ServiceModel.Activation.WebServiceHostFactory"

Beachten Sie, dass der Namespace ein wenig anders ist, was auf dem Netz an anderer Stelle erwähnt wird (wie in dieser MSDN-Artikel ).

Dies Nachdem ich, konnte ich den gesamten Abschnitt von web.config und alles noch gearbeitet löschen!

Andere Tipps

Stellen Sie sicher, dass Sie ein webHttpBinding auf Ihrem Endpunkt verwenden (und nicht ein httpBinding oder wsHttpBinding). Hier ist mein Endpunkt Config ...

    <endpoint address="" binding="webHttpBinding" bindingConfiguration=""
      contract="WcfCore.ICustomer">
      <identity>
        <dns value="localhost" />
      </identity>
    </endpoint>

Sie müssen sicherstellen, dass Sie eine Adresse für Ihre Service-Host z

<services>
      <service name="SomeLib.SomeService">
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8080/somebase"/>
          </baseAddresses>
        </host>
<!-- And one EndPoint **basicHttpBinding** WILL WORK !!! -->

        <endpoint 
                   address="basic"
                   binding="basicHttpBinding"
                   contract="SomeLib.SomeContract"/>
</service>
</services>

So, jetzt, wenn Sie selbst über eine Konsolenanwendung für z Hosting ... Sie Ihr Host über aufrufen können:

WebChannelFactory<IServiceContract> factory =
        new WebChannelFactory<IServiceContract>(
            new Uri("http://localhost:8080/somebase"));

Wenn die Konsole App gestartet wird, wird die Adresse durchsuchbar sein, auch wenn seine Selbst gehostet und Sie sollten Ihre Aktionen aufrufen können, auf der Grundlage Ihrer WebGet uri Vorlagen.

Diese minimale Konfiguration lassen Sie WCF restfully über selfhosting aufrufen. Wenn Sie Hosting IIS in wäre es im Wesentlichen auf die gleiche Weise arbeitet, mit Ausnahme der SVC-Datei unserer eigenen Host ersetzt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top