2009-04-14 14 views
0

J'ai des services web (que j'ai moi-même créés pour l'interaction avec une base de données) qui sont hébergés dans le même webproject qui charge mon projet silverlight. Chaque fois que je place un point d'arrêt pour parcourir le code via les méthodes asynchrones, Visual Studio me pointe simplement vers l'événement de réponse (événement terminé) en ignorant le code qui est dans le webservice donc ne sait pas ce qui se passe à l'intérieur. Y at-il une option pour activer le débogage dans les services Web?Comment déboguer des services Web dans Silverlight

Répondre

3

cernées pourquoi il entrait WebServices, je mets le projet silverlight au lieu du projet Web comme projet de démarrage

0

L'une des méthodes consiste à activer l'option de trace WebService. Par défaut, les services WCF ne signalent pas d'informations détaillées car les erreurs de service sont spécifiques à ce service et ne doivent pas transcender les limites du service. Vous devrez écrire du code supplémentaire pour divulguer des informations détaillées sur les exceptions. L'activation du suivi des services vous permettra d'enregistrer les appels de service et les exceptions, et de voir la trace de la pile, sans le codage supplémentaire, et de polluer votre client avec des gestionnaires d'exceptions de service. La méthode la plus rapide consiste à utiliser l'éditeur de configuration du service WCF (sous Outils dans VS2008). Une fois que vous avez exécuté l'éditeur, ouvrez le fichier de configuration contenant vos paramètres de service. Dans l'éditeur, allez dans le menu Diagnostics "folder" et cliquez sur "Enable Tracing". Cliquer sur les options de niveau de trace fera apparaître une boîte de dialogue ... définissez le menu déroulant Niveau de trace sur Erreur. Cliquez sur ServiceModelTraceListener et vérifiez l'option Callstack ... peut-être changer le chemin du fichier journal pour votre commodité. Sauvegarder.

Lorsque vous double-cliquez sur le fichier .svclog généré, Microsoft Service Trace Viewer démarre pour vous montrer ce que le service est en train de faire.

ib.

+0

Il ny a pas un moyen de débogage via des points d'arrêt et itérer le code? – Drahcir

+1

Je n'héberge jamais mes services dans le même projet web, donc je suis capable de déboguer un service WCF sans problème. Essayez d'insérer "Debugger.Launch()" avant le point d'arrêt. Cela devrait générer le débogueur que vous pouvez exécuter dans une nouvelle instance de Visual Studio. –

1

Si deux de vos services et projet web dans le même environnement puis,

  1. Faites un clic droit sur (dossier de projet de service) de wcfservice1 ---> debug ---> start nouvelle instance

  2. de même, un clic droit sur le dossier de projet web ---> debug ---> start nouvelle instance

Faire point de rupture maintenant dans les deux fichiers et commencer à debugging..simple ...

Questions connexes