このエラーは、DownloadStringCompletedイベントでどのように取得できますか?それは終わったのですか?私はこれを発射することができる別のイベントがありますか?WebClientは同時I/O操作をサポートしていません
このエラーは非常にまれですが、しばらくして私のWP7電話機で発生します。私は何度も繰り返し発砲するWebクライアントを持っており、完了したイベントからもう一度起動します。まだいくつかの古い接続が開いているので、これは起こっていますか?この100%を防ぐ方法はありますか?
スレッドが自分自身を歩く可能性があるかどうかを確認しましたが、完了したイベント内でのみ発生します。
完全なイベントが発生すると、クライアントはもはやisBusyではないことをどのように確認できますか? 1つの提案は、クライアントがビジー状態の間にスレッドスリープをしばらく追加することでした。
いくつかの擬似コード。
var client = new WebClient("URL 1");
client.CompletedEvent += CompletedEvent;
client.downloadasync();
void CompletedEvent(){
Dosomestuff;
client.downloadasync(); //This is where we break.
}
完成したイベントでない限り、私のポイントは決してdownloadasyncを呼び出しません。私がそのイベントに参加していれば、接続を閉じてクライアントを解放してはいけませんか?これが当てはまらない場合は、IsBusyを使用する以外にどのように回避できますか? – firebellys
はい、このスレッドは、私が今やっていることを正確に行うように指示しています。エラーが発生しています。上記の情報を追加します。 – firebellys
ちょうど誰かを救うために、上に掲示されたその答えはここへのちょうどリンク:http://stackoverflow.com/questions/2042258/webclient-downloadfileasync-download-files-one-at-a-time – TEK