C#在internet上下载多xml

C#在internet上下载多xml,xml,webclient,Xml,Webclient,我正在从internet下载大约1000000个xml文件 我尝试了很多方法,但是当我快速下载时,文件是空的。否则会很慢。。。 我怎样才能做得更好, 致以最良好的祝愿 WebClient client = new WebClient(); NetworkCredential myCreds = new NetworkCredential("user", "pass"); client.Credentials = myCreds; foreach (var id in ids

我正在从internet下载大约1000000个xml文件

我尝试了很多方法,但是当我快速下载时,文件是空的。否则会很慢。。。 我怎样才能做得更好, 致以最良好的祝愿

WebClient client = new WebClient();
NetworkCredential myCreds = new NetworkCredential("user", "pass");
client.Credentials = myCreds;


         foreach (var id in ids)
                {
                    try
                    {
                        string url = "http://....../fileid=" + id;

                        client.Encoding = Encoding.UTF8;
         //  client.DownloadFileAsync(new Uri(url), "C:\\Data\\"+id+".xml");

                        string result= client.DownloadString(url);
                        WriteFile(id, result);
                    }
                    catch (Exception)   {   }
                }


     private void WriteFile(decimal id, string text)
            {
                path ="C:\\Data\\"+id+".xml";
                using (StreamWriter sw = File.CreateText(path))
                {
                    sw.WriteLine(text);
                }
            }

当你没有得到结果时,你一定得到了一个异常。当运行async时,您如何判断每个文件何时完全下载或所有文件何时完成?虽然花了很长时间,但我们已经下载了所有数据。所以我们有关于数据的信息。由于坠落或webclient对象超时,无法找到一些文件,因为需要捕获我们所做的错误。现在的问题是,当下载异步时,数据的覆盖或数据是空的,当我们将其作为同步下载时,需要的时间太长……在同步和异步中,下载时间应该没有任何不同。在异步模式下,您将以片段的形式获取数据,并且需要等待接收整个文件。有关超时,请参见以下p[osting: