es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Retrasando las fases de solicitud HTTP usando FiddlerCore.

Estoy utilizando FiddlerCore para probar el comportamiento de mis aplicaciones cuando esperan mucho tiempo por la respuesta del servidor. Estoy utilizando la biblioteca c++ winhttp.h en mi aplicación. Estoy tratando de introducir un retraso antes de activar cada devolución de llamada asíncrona.

Hasta ahora he probado dos soluciones:
1) Agregar oSession["response-trickle-delay"] = receiveDelayinMillisecPerKb; como se explica en este artículo de blog, esto simula una transmisión lenta desde el almacenamiento, detectable cuando se llama a WinHttpReadData.
2) Agregar Thread.Sleep(delayMs) en diferentes controladores de estado de sesión de Fiddler (BeforeRequest, RequestHeadersAvailable, BeforeResponse, ResponseHeadersAvailable), pero desde mi aplicación parece que todos ellos prolongan el tiempo entre el método WinHttpSendRequest y la devolución de llamada de estado WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE.

¿Hay otra forma de introducir un retraso en la solicitud en diferentes estados de solicitud usando Fiddlercore?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Fiddler, WinHttp y FiddlerCore, sugiero probar las siguientes opciones para introducir retrasos en las solicitudes en diferentes estados de solicitud utilizando FiddlerCore:

    1. Utilice el método oSession.Sleep(delayMs) para introducir un retraso durante diferentes estados de solicitud. Este método hace que el hilo actual se duerma durante el número especificado de milisegundos antes de continuar con el procesamiento. Esto puede ayudar a introducir un retraso antes de activar cada devolución de llamada asíncrona.
    2. Utilice las propiedades oSession.Timers.ClientBeginRequest y oSession.Timers.ClientDoneRequest para calcular el tiempo transcurrido entre el comienzo y el final de una solicitud. Luego puede agregar un retraso adicional basado en este tiempo transcurrido utilizando el método Thread.Sleep para introducir un retraso.

    Estas opciones se pueden utilizar junto con los métodos que ya haya probado para introducir retrasos en diferentes estados de solicitud utilizando FiddlerCore.

Comments are closed.