Schrittweises Ausführen eines XML-Webdiensts
Aktualisiert: November 2007
Dieses Thema gilt für folgende Anwendungsbereiche:
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro und Team |
Tabellenlegende:
Vorhanden |
|
Nicht vorhanden |
|
Befehl oder Befehle, die standardmäßig ausgeblendet sind. |
Wenn ein verwalteter XML-Webdienst von einem verwalteten Client aufgerufen wird, folgt der Visual Studio-Debugger automatisch dem Aufruf vom Client zum Webdienst. Sie können einen Einzelschritt in einen Webdienst ausführen, so als würden Sie einen Einzelschritt in einen gewöhnlichen Funktionsaufruf ausführen. Dies setzt allerdings voraus, dass sowohl Client als auch Webdienst in verwaltetem Code geschrieben wurden. Das Ausführen von Einzelschritten wird in Threads, Prozessen und Computern unterstützt.
Wenn Sie einen Einzelschritt in einen Aufruf eines Webdienstes ausführen, wird der Debugger automatisch an den ASP.NET-Workerprozess aspnet_wp.exe oder w3wp.exe angehängt. Weitere Informationen finden Sie unter ASP.NET-Debugging: Systemanforderungen. Der ASP.NET-Workerprozess kann sich auf dem lokalen Computer oder einem Remotecomputer befinden.
Hinweis: |
---|
Um den Debugger an einen ASP.NET-Workerprozess anzuhängen, müssen Sie über Administratorrechte auf dem Computer verfügen, auf dem der Prozess ausgeführt wird. |
Wenn sowohl verwalteter als auch systemeigener Code gedebuggt werden soll, müssen beide Debugtypen im Projekt aktiviert sein. Sie können das Debuggen von systemeigenem Code aktivieren, indem Sie im Dialogfeld <Projekt>-Eigenschaftenseiten die Option Systemeigenes Debuggen aktivieren auswählen.
Wenn die Ausführung im Webdienst unterbrochen wird, können Sie eine zusammengeführte Aufrufliste anzeigen lassen, die Aufrufe vom Client als auch vom Webdienst enthält. Wenn ein Aufruf zwischen Threads auftritt, müssen Sie zur Anzeige dieser Informationen eine Anzeigeoption aktivieren.
So zeigen Sie Aufrufe zwischen Threads an
Klicken Sie mit der rechten Maustaste in das Fenster Aufrufliste.
Klicken Sie auf Aufrufe zu/von anderen Threads einschließen.
Nachdem Sie einen Einzelschritt in den Webdienst ausgeführt haben, können Sie alle üblichen Ausführungsbefehle, z. B. Schritt und Weiter, verwenden. Am Ende des Webdienstaufrufs wechseln Sie zurück zum Clientcode, durch den der Webdienst aufgerufen wurde.
Bei der Ausführung bis Rücksprung im Webdienst bleibt der Debugger weiterhin an den ASP.NET-Workerprozess angehängt. Der Debugger wird erst vom ASP.NET-Workerprozess getrennt, wenn Sie die Debugsitzung beenden oder den Prozess manuell trennen, indem Sie im Menü Debuggen die Option Alle trennen auswählen.