J'ai un service WCF qui accepte un type complexe et renvoie des données. Je veux utiliser Fiddler pour voir à quoi ressemblent les demandes entrantes au service. Le client est une application de console .net qui utilise un proxy de référence de service. Est-ce possible avec Fiddler. Je suis nouveau dans cet outil et je ne l'ai utilisé que par le passé pour publier des données avec le générateur de demandes.
107
Réponses:
Vous devez l'ajouter dans votre web.config
C'est tout, mais n'oubliez pas de supprimer les lignes web.config après avoir fermé le fiddler, car si vous ne le faites pas, cela fera une erreur.
Référence: http://fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy
la source
http://
adresse proxy. Tout le reste était le même, comme vous l'avez mentionné.http://localhost/abc.svc
tohttp://HOSTNAME/abc.svc
Fiddler écoute les demandes sortantes plutôt que les demandes entrantes, vous ne pourrez donc pas surveiller toutes les demandes entrant dans votre service à l'aide de Fiddler.
Le mieux que vous obtiendrez avec Fiddler est la possibilité de voir toutes les requêtes telles qu'elles sont générées par votre application console (en supposant que l'application génère des requêtes Web plutôt que d'utiliser un autre pipeline).
Si vous voulez un outil plus puissant (mais plus difficile à utiliser) qui vous permettra de surveiller TOUTES les demandes entrantes, vous devriez consulter WireShark.
Éditer
Je me suis trompé. Merci à Eric Law d'avoir publié les instructions pour configurer Fiddler en tant que proxy inverse !
la source
J'ai juste eu ce problème, ce qui a fonctionné pour moi était d'utiliser localhost.fiddler:
la source
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 n'aurez peut-être pas besoin de spécifier
proxyaddress
:Dans une application Web / quelque chose hébergé dans IIS, vous devez ajouter
proxyaddress
:HttpWebRequest
, etc.), il contournera toujours le proxy Fiddler pour les URL contenantlocalhost
, vous devez donc utiliser un alias comme le nom de la machine ou créer quelque chose dans votre fichier 'hosts' (c'est pourquoi quelque chose commelocalhost.fiddler
ouhttp://HOSTNAME
fonctionne)Si vous spécifiez le
proxyaddress
, vous devez le supprimer de votre configuration si Fiddler n'est pas activé, ou toute requête effectuée par votre application lèvera une exception comme:la source
Si simple, tout ce dont vous avez besoin est de changer l'adresse dans le client de configuration: au lieu de 'localhost', changez le nom de la machine ou l'adresse IP
la source
C'est simple si vous contrôlez le client qui envoie les communications. Tout ce que vous avez à faire est de définir HttpProxy sur la classe de service côté client.
Je l'ai fait, par exemple, pour tracer un client de service Web fonctionnant sur un smartphone. J'ai défini le proxy de cette connexion côté client sur l'IP / le port de Fiddler, qui fonctionnait sur un PC sur le réseau. L'application pour smartphone a ensuite envoyé toutes ses communications sortantes au service Web, via Fiddler.
Cela a parfaitement fonctionné.
Si votre client est un client WCF, consultez ces questions et réponses pour savoir comment définir le proxy.
Même si vous ne pouvez pas modifier le code de l'application côté client, vous pourrez peut-être définir le proxy de manière administrative, en fonction de la pile de services Web utilisée par votre client.
la source
Suivi / diagnostics WCF standard
Si, pour une raison quelconque, vous ne parvenez pas à faire fonctionner Fiddler ou si vous préférez consigner les demandes d'une autre manière, une autre option consiste à utiliser la fonctionnalité de traçage WCF standard. Cela produira un fichier qui a une belle visionneuse.
Docs
Voir https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/tracing-and-message-logging
Configuration
Ajoutez ce qui suit à votre configuration, assurez-vous qu'il
c:\logs
existe, reconstruisez et faites des requêtes:la source
J'ai utilisé l'outil Wire Shark pour surveiller les appels de service de l'application Silver Light dans le navigateur au service. essayez le lien donne des informations claires
Il vous permet de surveiller l'ensemble du contenu de la demande et de la réponse.
la source
Je viens d'essayer la première réponse de Brad Rem et suis arrivé à ce paramètre dans le web.config sous BasicHttpBinding:
J'espère que cela aide quelqu'un.
la source
Vous pouvez utiliser la version gratuite de HTTP Debugger.
Ce n'est pas un proxy et vous n'avez pas besoin d'apporter de modifications dans web.config.
En outre, il peut afficher les deux; requêtes HTTP entrantes et sortantes. Débogueur HTTP gratuit
la source