Pergunta

Existem problemas conhecidos com cancelamento de pedidos HttpWebRequest HTTP? Nós achamos que quando cancelar 4-5 pedidos, a próxima solicitação trava indefinidamente.

Se não há problemas conhecidos com isso, então eu provavelmente estou fazendo algo errado ... onde é um bom exemplo de recurso que mostra como isso funciona (uma solução completa, não um par de trechos de código)?

Se houver problemas conhecidos, o que posso fazer para trabalhar em torno deles, a fim de cancelar efetivamente como muitos pedidos como eu preciso?

Foi útil?

Solução

Depois de cancelar o pedido, ter o cuidado de fechar o fluxo de resposta, caso contrário você terá vazamentos.

Eu costumo usar "usando" quando obter a resposta da solicitação da web para garantir que a resposta está fechado:

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

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

Dessa forma, mesmo se você cancelar o pedido, ou ele lança uma exceção durante a leitura resposta, o resposne e do fluxo será fechada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top