多数の画像をダウンロードするには、WebClientの個別のインスタンスにDownloadDataAsync呼び出しを行います。ループでは、スレッドのスリープ遅延が発生します。応答は別のスレッドで発生すると予想されましたが、応答がすべての呼び出しが完了した後にのみ発生するため、そうではないようです。WebClient DownloadDataAsync(または代替)からマルチスレッド応答を取得する方法は?
これは妥当な修正とは何ですか?別のクライアントタイプがありますか、または各Webクライアント呼び出しごとにスレッドを作成すべきですか?
ので、現在私は、ループ内でこれを呼んでいる:
Private Sub StartDownload(ByVal webImageLink As String, ByVal token As Object)
Dim wc As New WebClient
Try
AddHandler wc.DownloadDataCompleted, AddressOf OnDownloadCompleted
wc.DownloadDataAsync(New System.Uri(webImageLink), token)
Threading.Thread.Sleep(delay)
Catch ex As Exception
Debug.Print("Exception in ImageDownloader.DoDownload ")
End Try
End Sub
コードを投稿することはできますか? – Strillo
@Strillo、完了、それはすべてのことが関係していると仮定します。 – bretddog