异步获取Web请求的最佳做法是什么?
我想从互联网上下载页面(无关紧要),并尽可能避免阻塞线程.
以前我认为只使用'BeginGetResponse'和'EndGetResponse'对就足够了.但仔细观察后我也发现可以选择使用'BeginGetRequestStream'
[UPDATE] GetRequestStream用于POST操作
然后添加到混乱中,我应该使用stream.BeginRead和EndRead吗?
[更新]这个文章表明,它是更好的处理异步使用Stream.BeginRead的HttpResponse.GetResponseStream
真是一团糟!
有人能指出我正确的方向吗?
什么是最佳实践?
您可以自己编写这些代码,也可以使用WebClient为您完成大量繁重的工作.例如,要将文件作为字符串下载,您可以调用DownloadStringAsync(),最终将触发OnDowloadStringCompleted事件.如果文件是二进制文件,您可以尝试使用DownloadDataAsync().