Voglio terminare un httpwebrequest quando ci vuole troppo tempo in connessione. qui è solo un codice simaple che ho scritto:Come terminare la connessione HttpWebRequest in C#? Non funziona nemmeno impostare il timeout o readwritetimeout
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Timeout = 5000;
request.ReadWriteTimeout = 5000;
request.Proxy = new WebProxy("http://" + proxyUsed + "/", true);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.01; Windows NT 5.0)";
using (WebResponse myResponse = request.GetResponse())
{
using (Stream s = myResponse.GetResponseStream())
{
s.ReadTimeout = 5000;
s.WriteTimeout = 5000;
using (StreamReader sr = new StreamReader(s, System.Text.Encoding.UTF8))
{
result = sr.ReadToEnd();
httpLink = myResponse.ResponseUri.AbsoluteUri;
sr.Close();
}
s.Close();
}
myResponse.Close();
}
Tuttavia, a volte la connessione avrà un circa 15 minuti per ottenere la risposta. La situazione è dopo 15 minuti Posso ancora ottenere la risposta ma non il codice sorgente completo dell'URL. Suppongo che la connessione sia troppo lenta per il fatto che l'URL mi risponda un po 'di dati entro il timeout, solo per esempio ricevere 1byte in 5 secondi, quindi non scade il tempo ma è molto lungo. Come posso interrompere la connessione? Grazie :)