Pregunta

¿Hay algún problema conocido con la cancelación de solicitudes HTTP HttpWebRequest? Encontramos que cuando cancelamos 4-5 solicitudes, la siguiente solicitud se cuelga indefinidamente.

Si no hay problemas conocidos con esto, entonces probablemente estoy haciendo algo mal ... ¿dónde hay un buen ejemplo de recursos que muestre cómo funciona esto (una solución completa, no un par de fragmentos de código)?

Si hay problemas conocidos, ¿qué puedo hacer para solucionarlos y cancelar efectivamente todas las solicitudes que necesito?

¿Fue útil?

Solución

Después de cancelar la solicitud, tenga cuidado de cerrar la secuencia de respuesta, de lo contrario tendrá fugas.

Usualmente uso " usando " cuando obtenga la respuesta de la solicitud web para asegurarse de que la respuesta esté cerrada:

WebRequest request = WebRequest.Create("http://google.com");

using (WebResponse response = request.GetResponse())
{
   //do my job
}

De esa manera, incluso si cancela la solicitud, o si arroja una excepción durante la lectura de la respuesta, la respuesta y su transmisión se cerrarán.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top