0
我怎么能告诉多久:如何检测WebClient.DownloadData()需要完成的持续时间?
objWebClient.DownloadData(strURL)
需要完成?
我希望有包含此信息的属性,但我无法找到一个...
我怎么能告诉多久:如何检测WebClient.DownloadData()需要完成的持续时间?
objWebClient.DownloadData(strURL)
需要完成?
我希望有包含此信息的属性,但我无法找到一个...
只需使用一个Stopwatch
:
Stopwatch sw = Stopwatch.StartNew();
webClient.DownloadData(...);
sw.Stop();
Console.WriteLine("Download took {0}ms", sw.ElapsedMilliseconds);
如果您使用的API同步,它真的很容易。异步API更复杂,但你只需要在你的状态下传递秒表。同样,如果您为您的事件处理程序使用匿名方法或lambda表达式,这很容易,因为它可以捕获本地变量。
使用StopWatch类 - 呼叫之前启动它,并调用后停止:
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
objWebClient.DownloadData(strURL)
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed; // ts now holds the duration
您是否真的想要下载时间(在这种情况下请使用下面的2个答案)或者您是否试图获得进度时间(包括剩余的xxx分钟)。 – Jamiec 2010-11-22 17:24:31