У меня худшие проблемы с обходом ошибки, и я надеюсь, что смогу получить совет на этом сайте. Короче говоря, я пытаюсь сделать асинхронный вызов веб-службы из моего приложения VB.NET. Но мой обратный вызов client_DownloadDataCompleted НИКОГДА не вызывается после завершения загрузки.
Вот мой полный код:
Public Sub BeginAsyncDownload(ByVal Url As String)
Dim waiter As System.Threading.AutoResetEvent = New System.Threading.AutoResetEvent(False)
Dim client As WebClient = New WebClient()
'client_DownloadDataCompleted method gets called when the download completes.
AddHandler client.DownloadDataCompleted, AddressOf client_DownloadDataCompleted
Dim uri As Uri = New Uri(Url)
Downloading = True 'Class variable defined elsewhere
client.DownloadDataAsync(uri, waiter)
End Sub
Private Sub client_DownloadDataCompleted(ByVal sender As Object, ByVal e As AsyncCompletedEventArgs)
MessageBox.Show("Download Completed")
Downloading = False
Debug.Print("Downloaded")
End Sub
Опять же, метод client_DownloadDataCompleted никогда не вызывается. Я также пытался использовать метод:
Private Sub client_DownloadDataCompleted(ByVal sender As Object, ByVal e As DownloadDataCompletedEventArgs)
Без удачи. Что мне действительно нужно, так это то, что переменная «Загрузка» отключается после завершения загрузки.
Заранее спасибо!
Brett