Frage

Ich arbeite mit WCF (VS2005, .NET 3.0) und wollen einen Service testen, indem es direkt über einen Webbrowser aufrufen anstelle von Code.

ich eine Methode habe mit der Operation dekoriert Attribut nenne GetTest (). Ich habe den Dienst hinter einer SVC-Datei, die ich zugreifen kann; aber wenn ich ... / Test.svc / GetTest, nur ein leerer Bildschirm kommt.

Hier ist die web.config:

<system.serviceModel>
  <services>
    <service name="TestService" behaviorConfiguration="TestBehavior">
      <endpoint
        address=""
        binding="basicHttpBinding"
        contract="TestService.ITestService"></endpoint>
    </service>
  </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="TestBehavior">
        <serviceMetadata httpGetEnabled="true"/>
      </behavior>
    </serviceBehaviors>
  </behaviors>
</system.serviceModel>

Jedes Mal, wenn ich versuche, einen Haltepunkt in dem Dienst einzustellen, wird es nicht so gut getroffen. Irgendwelche Ideen auf, wohin ich gehe falsch hier? Ich bin zu ASMX Diensten vorsehen, wenn ich eine Antwort bekommen, wenn ich die Methoden über einen Browser zugreifen; jedoch kann ich nur das bekommen „Sie haben erstellt eine Service“ Seite, wenn ich auf den Dienst zugreifen, aber nichts von den Methoden.

War es hilfreich?

Lösung

WCF bietet nicht die „nennt es aus dem Web“ Optionen, die ASMX-Dienste verwendet zu tun. Warum? Es ist eine große Sicherheitslücke, und nicht der beste Weg, um einen Web-Service zu testen.

Eine Möglichkeit ist, zu tun, wie @Yossi vorgeschlagen, und verwenden Sie das WCF-Dienst Test Tool.

Oder noch besser, schreiben Sie Ihre eigenen Client Ihren Web-Service zu konsumieren. Dies hilft Ihnen, mit den gleichen Fragen beschäftigen diejenigen, die Ihren Dienst verbrauchen wird wird beschäftigen, und glauben Sie mir, WCF eine ganz wenige dieser hangups haben.

Sie mich nicht falsch, WCF frikkin awesome! Aber es gibt eine Menge zu jonglieren, und wenn Sie neue Chancen sind sind Sie gehen es etwas falsch laufen. Sogar noch Early Adopters nicht wissen, alle Ins und Outs der WCF.

Andere Tipps

Betrachten Sie mit dem Wcf Service Test-Tool für Erstprüfung Ihr Service (aber wirklich- Unit-Tests sind dein Freund :-)) (und ja - Sie werden ein mex Endpunkt, zumindest am Anfang müssen)

Wie für die Fehlersuche - sind Sie an den richtigen Prozess-Hosting den Dienst angeschlossen? Sie sind mit Debug-Symbolen kompiliert? wenn der Dienst IIS veröffentlicht wird - ist diejenige der Code der gleiche wie der Code in Visual Studio

Haben Sie versucht, mit SoapUI ? Sie bieten ein wirklich großes Web Services Testing-Tool. Sie haben sogar eine kostenlose Version, die als webstart laufen wird!

Versuchen Sie auch, eine mex Endpunkt, vgl Installation Msdn Link.

Hier finden Sie aktuelle WebGetAttribute -., Die .NET 3.5 benötigt

Auf diese Weise können Sie REST Daten aus einem WCF-Web-Service erhalten.

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