2010-11-22 13 views
0

どうすればいいのですか?WebClient.DownloadData()が完了するのにかかる時間を検出する方法?

objWebClient.DownloadData(strURL) 

の完了までにかかる時間は?

私はこの情報を含むプロパティがあったが、私は1つを見つけることができなかったことを望む...

+0

あなたは実際にダウンロードする時間を得ようとしていますか(下の2つの答えを使用してください)、進行時間を取得しようとしていますか(残りxxx分を含む)ですか? – Jamiec

答えて

2

だけStopwatchを使用します。

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

あなたが同期のAPIを使用している場合、それは本当に簡単です。非同期APIでは扱いにくいですが、あなたの状態でストップウォッチを渡すだけで済みます。イベントハンドラに匿名メソッドまたはラムダ式を使用すると、ローカル変数を取得できるため、これも簡単です。

2

StopWatchクラスを使用して...私はこの情報が含まれてプロパティがあったことを望むが、私はものを見つけることができませんでした - コールの前にそれを起動して、呼び出しの後に、それを停止します。

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

objWebClient.DownloadData(strURL) 

stopWatch.Stop(); 
TimeSpan ts = stopWatch.Elapsed; // ts now holds the duration 
関連する問題