如何检测WebClient.DownloadData()完成的持续时间?

时间:2010-11-22 17:18:11

标签: c# asp.net webclient

我怎么知道a:

objWebClient.DownloadData(strURL)

需要完成吗?

我希望有一个属性包含这些信息,但我找不到一个......

2 个答案:

答案 0 :(得分:2)

使用StopWatch课程 - 在通话前启动它并在通话后停止:

Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();

objWebClient.DownloadData(strURL)

stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed; // ts now holds the duration

答案 1 :(得分:2)

只需使用Stopwatch

Stopwatch sw = Stopwatch.StartNew();
webClient.DownloadData(...);
sw.Stop();
Console.WriteLine("Download took {0}ms", sw.ElapsedMilliseconds);

如果您使用的是同步API,那真的很容易。使用异步API比较棘手,但你只需要在你的状态下传递秒表。同样,如果您对事件处理程序使用匿名方法或lambda表达式,这很容易,因为它可以捕获局部变量。