2009-08-10 8 views
0

Ich frage mich, was ist der beste Weg, um in meinen Web Service einzusteigen? Wenn ich meinen Code kompiliere, hängt die Anwendung, wenn es zu einer Web-Service-Methode kommt. Wenn ich versuche, einen Unterbrechungspunkt zu setzen und in des Service-Codes zu treten, lässt es mich nicht - fangen "die Operation hat Zeitüberschreitung".Problem beim Einstieg in den Web-Service

Dinge, die ich habe versucht:

1) Meine SVC-Datei hat Debug = "true"

2) Mein Web.config sowohl mein Webprojekt und Service hat

3) Ich habe versucht, "attach to process" mit der DLL aus dem kompilierten Service, aber dann Ich muss das Projekt entladen und neu laden, um es kompilieren und ausführen, und ich bin mir nicht sicher, der Prozess ist nicht mehr angehängt. Egal, es scheint nicht zu funktionieren - es hängt immer noch.

Ich verwende ASP.NET 3.5 und mein Webdienst ruft eine Serviceklassenbibliothek auf.

Irgendwelche Vorschläge, wie ich in meine Web-Service-Methoden treten kann, damit ich herausfinden kann, , warum es hängt?

Vielen Dank im Voraus!

+0

Sie eine Web-Site oder eine Web Application Project verwenden? Sie sollten immer sagen, welche bei der Verwendung von ASP.NET. –

+0

Danke John, es ist ein Web-Projekt –

Antwort

1

Stellen Sie sicher, dass sowohl Ihre Anwendung als auch der Webdienst als Startprojekt festgelegt sind, bevor Sie den Debugger starten. Sie können dies tun, indem Sie mit der rechten Maustaste auf die Lösung klicken und dann auf StartUp-Projekte festlegen klicken. Klicken Sie auf das Optionsfeld neben "Mehrere Startprojekte". Stellen Sie in der Liste der Projekte sicher, dass die ausgewählten Werte für Anwendung und Webdienst auf Start (mit Debugging) gesetzt sind.

0

In den Situationen, in denen ich finde, dass ich dies tun muss, führe ich zwei Kopien von Visual Studio: eine für den Webdienst, mit einem Haltepunkt auf, was ich für die fehlerhafte Methode und eine für den Client.

Sie müssen jedoch nicht in beide Dienste debuggen: Wenn Sie eine "Timeout" -Meldung von WCF erhalten, kann es sein, dass Sie tatsächlich eine Ausnahme im Serialisierungsprogramm auf der Clientanwendung oder dem Deserializer sehen auf der Serverseite.

Versuchen Sie, sowohl den Client als auch den Server zu konfigurieren, um Service Trace Viewer zu verwenden. Sehen Sie sich dann den Streced-Code an. Wenn eine Ausnahme von WCF ausgelöst wird, wird sie zusammen mit dem inneren Ausnahme-Stack, der beim Drilldown verfügbar ist, rot hervorgehoben.

+0

Danke. Ich habe versucht, den Service Trace Viewer und es scheint zu dieser Ausnahme herunterkochen: System.ServiceModel.FaultException: Die Nachricht mit 'http: // localhost: 8731/Design_Time_Addresses/Trade/mex/mex' kann nicht aufgrund eines AddressFilter-Mismatch am EndpointDispatcher am Empfänger verarbeitet werden. Überprüfen Sie, ob die EndpointAddresses des Senders und des Empfängers übereinstimmen.

0

Eigentlich in Zeiten wie diesen ich Setup einen 'Integration' Unit-Test und es im Release-Modus ausgeführt werden, während der WCF-Service-Host im Debug-Modus mit

Verwandte Themen