Как определить продолжительность выполнения WebClient.DownloadData ()? - PullRequest
0 голосов
/ 22 ноября 2010

как я могу сказать, как долго:

objWebClient.DownloadData(strURL)

требуется для завершения?

Хотелось бы, чтобы в собственности была эта информация, но я не смог ее найти ...

Ответы [ 2 ]

2 голосов
/ 22 ноября 2010

Просто используйте Stopwatch:

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

Если вы используете синхронные API, это действительно просто.С асинхронными API-интерфейсами все сложнее, но вам просто нужно обойти секундомер в вашем состоянии.Опять же, это довольно просто, если вы используете анонимный метод или лямбда-выражение для вашего обработчика событий, так как он может захватывать локальную переменную.

2 голосов
/ 22 ноября 2010

Используйте класс StopWatch - запустите его перед вызовом и остановите его после вызова:

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

objWebClient.DownloadData(strURL)

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