如何等到没有更多的"404"来自 vb.net 的weblient?



我需要在我的应用程序中下载一个大文件(大约3-5GB(。该文件是根据请求动态生成的,所以我无法预测何时可以下载。我需要尝试下载,当我收到 404 时,我必须等待并稍后重试。

下载是异步的,因为我有一个进度条。我还尝试进行"正常"下载(WC。下载文件(...((在尝试中..抓住了,但没有解决我的问题。

Private Sub DownloadUpdate()
    Dim RndName As String = IO.Path.GetRandomFileName
    UpdateTmpPath = IO.Directory.CreateDirectory(IO.Path.Combine(IO.Path.GetTempPath, RndName)).FullName
    UpdateTmpFile = UpdateTmpPath & "update.zip"
    UpdateUnzipDir = IO.Directory.CreateDirectory(UpdateTmpPath & "update").FullName
    Log(UpdateTmpFile)
    WC.DownloadFileAsync(New Uri(url), UpdateTmpFile)
End Sub

顺便说一句,对不起我的英语,这不是我的第一语言:)

找到答案:)通过添加处理程序"下载文件已完成",我可以检查 Http 状态:

    Private Sub AfterDownload(ByVal sender As Object, ByVal e As Object) Handles WC.DownloadFileCompleted
    Dim status As HttpStatusCode = DirectCast(CType(e.Error, WebException).Response, HttpWebResponse).StatusCode
    If status = HttpStatusCode.NotFound Then
        "...wait and retry download"
    Else
        "...do something with downloaded file"
    End If
End Sub

希望它对某人有所帮助。

丹尼尔

相关内容

  • 没有找到相关文章

最新更新