What is the best practice for getting a webrequest asynchronously?
I want to download a page from the internet (doesn't matter what) and avoid blocking a thread as much as possible.
Previously I believed that it was enough to just use the 'BeginGetResponse' and 'EndGetResponse' pair. But on closer inspection I also see that there is the option of using 'BeginGetRequestStream'
[UPDATE] GetRequestStream is used for POST operations
And then to add to the confusion, Should I be using stream.BeginRead and EndRead?
[UPDATE] this article suggests it is even better to process the HttpResponse.GetResponseStream asynchronously using Stream.BeginRead
What a mess!
Can someone point me in the right direction?
What is the Best Practice?