WebClient.DownloadString(url)挂在第二个网址上

时间:2013-07-05 04:47:07

标签: c# downloadstring

这个简单的代码从多行文本框中获取行,将每个url页面作为字符串下载,并调用另一个函数来解析该字符串中的信息。 client.DownloadString(url)只挂起第二个url的下载尝试。我无法得到任何有关原因的反馈。有一次它实际上经历了所有这些。我不应该使用此方法的异步版本。为什么dos会在第一个url上运行而不是第二个url?网址是什么并不重要,它几乎总是挂在第二个网址上。

string[] lines = tbUrls.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0; i < lines.Count(); i++)
            {
                try
                {
                    WebClient client = new WebClient();
                    string url = lines[i];
                    string downloadString = client.DownloadString(url);

                    findNewListings(downloadString, url);
                }
                catch (Exception exce)
                {
                    MessageBox.Show("Error downlaoding page: \n\n" + exce.Message);
                }

            }

1 个答案:

答案 0 :(得分:2)

我正在编辑你的代码,试试这个:

WebClient client = new WebClient();
string url = lines[i];
try
{
    string downloadString = client.DownloadString(url);
    client.Dispose(); //dispose the object because you don't need it anynmore
    findNewListings(downloadString, url);
}
catch (Exception exce)
{
    MessageBox.Show("Error downlaoding page: \n\n" + exce.Message);
}

如果某个对象不再使用,则最好Dispose