c# c#-4.0 httpclient fiddler

c# - ¿Cómo puedo rastrear la solicitud de HttpClient utilizando el violín o cualquier otra herramienta?



c#-4.0 fiddler (5)

Estoy usando HttpClient para enviar una solicitud a uno de los servicios de API web a los que no tengo acceso y necesito rastrear el flujo de solicitud real que llega al servidor desde mi cliente. ¿Hay alguna manera de conectar el Fiddler para escuchar las solicitudes?

Estoy usando la clase System.Net.Http.HttpClient para enviar una solicitud.

Actualización: tratando de mejorar esta pregunta ahora, ya que no pude obtener lo que estaba buscando. Estoy usando una aplicación .Net Client para conectarme a un servicio web alojado en mi propio canal IIS sobre HTTP. He realizado la depuración de viñetas anteriormente con un sitio web alojado en mi IIS y viendo el tráfico generado entre mi navegador y el sitio web. Pero cuando se trata de ver el tráfico generado por un programa de cliente .Net hablar con el servicio web utilizando la clase HttpClient, extrañamente el violinista no parece poder tocar ese tráfico y no muestra nada. ¿.Net HttpClient omite la API de WinInet para conectarse al servicio, lo que hace que el violinista no pueda ver el tráfico?


Si la aplicación .NET se está ejecutando en su cuenta de usuario actual, agregue el siguiente contenido dentro de la sección de configuración:

<configuration> <system.net> <defaultProxy> <proxy bypassonlocal="false" usesystemdefault="true" /> </defaultProxy> </system.net> </configuration>

Nota: Importante: Independientemente de otras configuraciones, .NET omitirá siempre el proxy Fiddler para las URL que contengan localhost. Entonces, en lugar de usar localhost, cambie su código para referirse al nombre de la máquina. Por ejemplo:

Esta URL no aparecerá en Fiddler:

http://localhost/X509SignCodeService/X509SigningService.asmx

Esta URL aparecerá en Fiddler:

http://mymachine/X509SignCodeService/X509SigningService.asmx


todas las solicitudes a IIS están registradas en el directorio de registro (iis manager> iis server> logging) el valor predeterminado es:% SystemDrive% / inetpub / logs / LogFiles

Al final de la línea hay un estado de la solicitud.



IIS no usa la configuración del proxy en la opción de Internet porque se ejecuta con una identidad de usuario diferente (el valor predeterminado es ApplicationPoolIdentity ). @EricLaw ha proporcionado un http://fiddlerbook.com/fiddler/help/hookup.asp#Q-IIS sobre el problema de capturar el tráfico de IIS / ASP.NET.

En lugar de configurar IIS para usar mi cuenta de inicio de sesión, edito web.config para obligar a HTTPClient a usar proxy, como por ejemplo.

<configuration> <system.net> <defaultProxy enabled="true" useDefaultCredentials="true"> <proxy proxyaddress="http://127.0.0.1:8888"/> </defaultProxy> </system.net> </configuration>

Aquí está el detalle del uso de MSDN .