C#在internet上下载多xml
我正在从internet下载大约1000000个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
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: