2009-06-22 7 views
3

J'ai un service web créé dans une application framework VS2005 asp.net 2.0 que j'ai besoin de consommer dans une application framework 1.1. J'ai construit le service web - puis construit une petite application de testeur de framework 1.1 pour l'appeler et cela a très bien fonctionné. J'ai maintenant ajouté la référence Web exactement de la même manière à l'application principale 1.1 dont j'ai besoin pour la consommer. La méthode web appelée est de type boolean et renvoie true si elle réussit. Je reviens vrai - mais les mises à jour que la méthode Web est censée effectuer ne se produisent pas. Lorsque j'appelais la méthode Web de la petite application de test - ils se sont bien passés.Déboguer le service Web .NET 2.0 de VS2003?

Ma question est - comment est-ce que je peux déboguer ceci de mon consommateur 1.1 dans mon fournisseur 2.0? MS docs dit que je devrais juste être en mesure de définir un point d'arrêt sur l'appel au service Web et entrer directement (actuellement en développement, ils sont tous les deux sur la même machine). Cela ne fonctionne pas, car cela marche juste sur cette ligne de code. Toute aide appréciée.

Répondre

1

Assurez-vous d'avoir <compilation debug="true"/> dans les deux fichiers web.config, et assurez-vous qu'ils sont tous les deux construits en mode DEBUG. Maintenant que j'y pense, ça ne marchera probablement pas. Je présume que vous déboguez le code .NET 1.1 avec VS2003, non? Il ne va pas entrer dans le code .NET 2.0. Vous allez devoir démarrer une instance VS2005 séparée, vous attacher au processus exécutant le service Web, définir vos points d'arrêt, puis attendre.

+0

@John Saunders Oui - Je cours le 1.1 de VS2003. J'ai essayé votre suggestion - obtenir l'erreur popup "Impossible de joindre au processus" - rien d'autre. –

+0

Vous avez ce message joint de VS2005 au service .NET 2.0? Pourquoi at-il dit qu'il ne pouvait pas attacher? –

+0

Non - J'ai reçu le message de VS2003 essayant de joindre l'application 2.0 qui exécute le service. J'ai effectivement résolu mes problèmes de service Web et tout fonctionne maintenant, mais il serait toujours intéressant de découvrir comment déboguer à partir d'une application 1.1 consommant un service 2.0. –

0

Dans VS 2005 ou 2008, vous pouvez attacher n'importe quel processus au débogueur mais dans VS2003 je ne le fais pas, c'est très arquaiq.

Si vous ne travaillez pas, vous pouvez toujours convertir 1,1 à 2,0 est très CLEANY parce que la moitié des fonctions de 2.0

+0

Etes-vous sûr de pouvoir attacher le débogueur VS2008 ou VS2005 à un processus .NET 1.1? Je ne pense pas, ils utilisent différentes versions du CLR. De même, vous ne pouvez pas attacher le débogueur VS2003 à un processus .NET 2.0, car le CLR est différent. –

+0

C'est en fait le 1.1 qui devrait être attaché au processus 2.0. Impossible de convertir l'application 1.1. C'est énormément ane sera finalement réécrit. Comme je l'ai dit ci-dessus - le problème est en fait résolu - c'est juste une curiosité sur le débogage :) –

0

Je ne l'ai jamais été en mesure de déboguer un service Web 2.0 en utilisant VS2003, mais ce que je fais habituellement, est mis en place deux débogueurs. Un pour l'application 1.1 dans VS2003, et un second débogueur attaché à IIS qui exécute le webservice en utilisant VS2005 (attacher à aspnet_wp.exe dans WinXP, ou W3WP.exe sur WinServer2K3 ou Vista). De cette façon, vous pouvez déboguer votre application 1.1, et vous pouvez également avoir un débogueur assis sur votre service Web.

Une autre façon de toujours lancer votre débogueur est d'ajouter la ligne suivante à votre code, et il fera apparaître une boîte de dialogue lorsque appelé qui vous donnera les options de débogage correct:

System.Diagnostics.Debugger.Break(); 

Si vous ajoutez cela dans votre service Web lorsque vous voulez déboguer, il vous forcera à ouvrir un débogueur pour continuer l'exécution de code.

Questions connexes