У меня работает код в фоновом режиме, который проверяет, является ли указанная ссылка (веб-сайт) действительной. если он недействителен, процедура выдает ошибку и переходит к проверке другой ссылки. Для этого я использую webrequest и webresponse.
Проблема начинается, когда фоновый работник обращается к ссылкам, если я пытаюсь загрузить что-то из основного потока (что работает совершенно нормально, если backgroundworker не работает), загрузкане завершено.
Код для фонового работника:
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
Если работает backgroundworker, отладчик никогда не достигает "ondownloadcomplete1"