【发布时间】:2012-02-27 20:24:55
【问题描述】:
我们最近开始在 Windows 7/64 工作站上使用 vb.net 2008 WebClient 将文件从网站下载到本地机器。
除了我们无法检测 URL 是否无效之外,它可以正常工作。它不会引发错误。如果我们使用异步,它会触发下载完成事件,但由于 URL 不正确,因此没有文件。
有没有办法检测不正确的 URL?
我还注意到事件没有给你 URL 或文件?好像应该?
谢谢
【问题讨论】:
我们最近开始在 Windows 7/64 工作站上使用 vb.net 2008 WebClient 将文件从网站下载到本地机器。
除了我们无法检测 URL 是否无效之外,它可以正常工作。它不会引发错误。如果我们使用异步,它会触发下载完成事件,但由于 URL 不正确,因此没有文件。
有没有办法检测不正确的 URL?
我还注意到事件没有给你 URL 或文件?好像应该?
谢谢
【问题讨论】:
不清楚您所说的无效网址是什么意思。这可能意味着两件事:
就检测格式正确的 url 而言,您可以在尝试发送 HTTP 请求之前使用Uri.TryCreate 方法。就检测第二个条件而言,在您实际向给定 url 发送 HTTP 请求之前,您无法检测到它。如果服务器以不同于 2xx 或 3xx 的状态码(例如 404 或 500)响应,则会引发您可以捕获的异常。如果您使用方法的异步版本,则不会引发异常,但在完整回调中,您必须在尝试访问 Result 属性之前检查传递的 EventArgs 实例的 Error 属性是否不为空。
【讨论】: