首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在vb.net中等待不再有来自weblient的"404“?

如何在vb.net中等待不再有来自weblient的"404“?
EN

Stack Overflow用户
提问于 2019-02-12 05:35:53
回答 1查看 29关注 0票数 0

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

下载是异步的,因为我有一个进度条。我也试着放一个“普通”的下载(WC.DownloadFile(...))在try..catch中,但并没有解决我的问题。

代码语言:javascript
运行
复制
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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-14 04:25:19

找到答案:)通过添加处理程序"DownloadFileCompleted“,我可以检查Http状态:

代码语言:javascript
运行
复制
    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

希望这能帮助到别人。

丹尼尔

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54639516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档