C#:下载超时的 URL
在 .NET 中最好的方法是什么? 我总是忘记我需要 Dispose()
(或用 using
包装)。
编辑:使用WebRequest
很长时间后,我发现了自定义WebClient
。 好多了。
What's the best way to do it in .NET?
I always forget what I need to Dispose()
(or wrap with using
).
EDIT: after a long time using WebRequest
, I found out about customizing WebClient
. Much better.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
同步方式:
也可以采用异步方式:
Syncronous Way:
You can also have the asynchronous way:
这是我使用的,它似乎有效,但我不知道这是否是最好的方法:
Here's what I use, it seems to work, but I don't know if it's the best way:
根据 Thomas Levesque 此处的评论,有一个更简单、更通用的解决方案。
我们创建一个具有超时支持的
WebClient
子类,并且我们获得了所有 WebClient 的优点。使用示例:
Following Thomas Levesque's comment here, there's a simpler and more generic solution.
We create a
WebClient
subclass with timeout support, and we get all of WebClient's goodness.Sample usage:
在单独的线程中运行 System.Net.WebClient,设置一个计时器以在最长时间后终止它。
Run System.Net.WebClient in a seperate thread, set a timer to kill it after your maximum time.