0

バックグラウンドワーカーで実行されているコードがあり、言及されたリンク(ウェブサイト)が有効かどうかを検証します。有効でない場合、手順はエラーになり、別のリンクのチェックに進みます。これを達成するために、私は webrequest と webresponse を使用しています。

問題は、バックグラウンド ワーカーがリンクにアクセスしているときに、メイン スレッドから何かをダウンロードしようとすると (バックグラウンド ワーカーが動作していない場合は完全に正常に動作します)、ダウンロードが完了しない場合に発生します。

バックグラウンド ワーカーのコード:

Try
            Dim bgwebRequest As WebRequest
            Dim bgwebresponse As WebResponse

            bgwebRequest = WebRequest.Create(websitelink)
            bgwebRequest.Timeout = 200
            bgwebresponse = bgwebRequest.GetResponse()

            '//code for website found

  Catch ex As Exception

            '//code for website not found

  End Try

ファイルをダウンロードするためのコード:

Dim download As WebClient = New WebClient

  download.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; 
  x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 
  Safari/537.36")

  download.DownloadFileAsync(New Uri(directdownloadlink), downloadpathinpc)

  AddHandler download.DownloadFileCompleted, AddressOf OnDownloadComplete1

  download.Dispose()

ondownloadcomplete1 のコード:

'//run tasks that needs to completed if download is comolete

バックグラウンドワーカーが実行されている場合、デバッガーは「ondownloadcomplete1」に到達しません

4

0 に答える 0