无法从传输连接读取数据:控制台应用程序中的连接已关闭错误

我在控制台应用程序中有这个代码,它在一个循环中运行

try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(search); request.Headers.Add("Accept-Language", "de-DE"); request.Method = "GET"; request.Accept = "text/html"; using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII)) { string html = reader.ReadToEnd(); FindForMatch(html, url); } } } catch (Exception ex) { throw new Exception(ex.Message); } 

经过几次循环就给出了

无法从传输连接读取数据:连接已关闭

错误。 知道为什么会这样吗? 感谢名单..

添加后

 request.KeepAlive = false; request.ProtocolVersion = HttpVersion.Version10; 

它工作正常..

我发现它来自这篇博文

WebRequest和无法从传输连接中读取数据错误

我刚刚尝试了代码,循环了10次以加载google.com,它对我有用。 search有什么特别之处 – 也许尝试用另一个uri替换它。 我没有包含findForMatch – 我认为它没有做任何会导致exception的事情。

尝试将读取器放在try catch的finally块中