Domanda

Esistono problemi noti relativi all'annullamento delle richieste HTTP HttpWebRequest? Troviamo che quando cancelliamo 4-5 richieste, la richiesta successiva si blocca indefinitamente.

Se non ci sono problemi noti con questo, allora probabilmente sto facendo qualcosa di sbagliato ... dov'è un buon esempio di risorsa che mostra come funziona (una soluzione completa, non un paio di frammenti di codice)?

Se ci sono problemi noti, cosa posso fare per aggirarli, al fine di annullare efficacemente tutte le richieste di cui ho bisogno?

È stato utile?

Soluzione

Dopo aver annullato la richiesta, fare attenzione a chiudere il flusso di risposta, altrimenti si verificheranno delle perdite.

Di solito uso " usando " quando si ottiene la risposta dalla richiesta Web per assicurarsi che la risposta sia chiusa:

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

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

In questo modo, anche se si annulla la richiesta o si genera un'eccezione durante la lettura della risposta, il resposne e il suo flusso verranno chiusi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top