Trying to recursively scan all folders, and download all files result in TimeOut exceptions.
This is caused by HttpWebResponse objects not being closed.
I suggest you make the following changes:
- Add "using()" whenever calling the method HttpWebClient.SendHttpWebRequest()
- Inside method HttpWebClient.SendHttpWebRequest(), when you are making recursive calls, call the "Close()" method on the existing HttpWebResponse before overwriting it.