Comment utiliser un violon pour le moniteur de service WCF
J'ai un service WCF qui accepte un type complexe et renvoie des données. Je veux utiliser un violon pour voir ce que les demandes entrantes pour le service ressemble. Le client est .net application console qui utilise un Service de référence proxy. Est-ce possible avec un violon. Je suis nouveau sur cet outil et ont seulement utilisé dans le passé pour publier des données avec le générateur de requête.
- La WCF services de recherches sont très bons par eux-mêmes, y compris une belle interface pour les afficher. msdn.microsoft.com/en-us/library/ms751526.aspx
Vous devez vous connecter pour publier un commentaire.
Vous devez ajouter dans votre site web.config
C'est tout, mais n'oubliez pas de retirer le web.config lignes après la fermeture de la fiddler, parce que si vous ne le faites pas, il va faire une erreur.
Référence : http://fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
http://
dans l'adresse du proxy. Tout le reste est le même, comme vous l'avez mentionné.http://localhost/abc.svc
àhttp://HOSTNAME/abc.svc
Fiddler est à l'écoute de requêtes sortantes plutôt que les demandes entrantes de sorte que vous n'allez pas être en mesure de suivre toutes les demandes à venir à votre service à l'aide de Violoneux.
Le meilleur que vous allez obtenir avec Fiddler est la capacité de voir toutes les demandes qu'ils sont générés par votre Application Console (en supposant que l'application génère les requêtes web plutôt que d'utiliser certains autres pipeline).
Si vous voulez un outil qui est plus puissant (mais plus difficile à utiliser) qui vous permettra de surveiller TOUTES les demandes entrantes, vous devriez vérifier WireShark.
Modifier
Je corrige la position des mains. Merci à Eric de la Loi pour l'affichage de la directions pour la configuration de la Fiddler est un proxy inverse!
Juste eu ce problème, ce qui a fonctionné pour moi a été d'utiliser localhost.fiddler:
Consolider les mises en garde mentionnées dans les commentaires/réponses pour plusieurs cas d'utilisation.
Surtout, voir http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp
Dans une application console, vous ne pourriez pas besoin de spécifier le
proxyaddress
:Dans une application web /quelque chose hébergés dans IIS, vous devez ajouter le
proxyaddress
:HttpWebRequest
, etc), il sera toujours contourner le proxy Fiddler pour les Url contenantlocalhost
, donc vous devez utiliser un alias comme le nom de la machine ou de fabriquer quelque chose dans votre fichier hosts (qui est pourquoi quelque chose commelocalhost.fiddler
ouhttp://HOSTNAME
œuvres)Si vous spécifiez le
proxyaddress
, vous devez le supprimer de votre configuration, si Fiddler n'est pas sur, ou toutes les demandes de votre application fait lèvera une exception comme:Si simple, il vous suffit de changer l'adresse dans le fichier de configuration client: au lieu de "localhost" changer le nom de la machine ou IP
C'est simple si vous avez le contrôle sur le client qui est de l'envoi de la communication. Tout ce que vous devez faire est de définir la HttpProxy sur le côté client de la classe de service.
Je l'ai fait, par exemple, pour retrouver la trace d'un client de service web en cours d'exécution sur un smartphone. - Je configurer le proxy sur le côté client de la connexion à l'adresse IP/port de Fiddler, qui a été en cours d'exécution sur un PC sur le réseau. L'application pour smartphone puis envoyé à tous de son sortant de la communication au service web, par le biais de Violoneux.
Cela a fonctionné parfaitement.
Si votre client est un WCF client, puis voir cette Q&A pour savoir comment définir le proxy.
Même si vous n'avez pas la possibilité de modifier le code de la partie cliente de l'application, vous pouvez être en mesure de définir le proxy sur le plan administratif, selon les webservices de la pile de votre client utilise.
Standard de la WCF de suivi/Diagnostics
Si, pour une raison quelconque, vous ne parvenez pas à obtenir un violon pour le travail, ou préférez accéder à la demande d'une autre manière, une autre option est d'utiliser le standard de la WCF la fonctionnalité de traçage. Ceci va produire un fichier qui a une belle spectateur.
Docs
Voir https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/tracing-and-message-logging
Configuration
Ajoutez les lignes suivantes à votre configuration, assurez-vous que
c:\logs
existe, reconstruire, et de faire des demandes:J'ai utilisé du fil de requin outil de suivi des appels de service de l'argent à la lumière application dans le navigateur de service. essayez le lien donne clairement info
Il vous permet de surveiller l'ensemble de la demande et de réponse de contenu.