I am using a WebClient to download a string from a website (which just contains plain text, nothing else), so I use the DownloadString method:
WebClient wc =
Setting the Proxy
property of your WebClient
object to null should eliminate the delays you're seeing. Alternatively if you've configured your system to use a proxy it can be retrieved with WebRequest.GetSystemWebProxy
. The second method should eliminate the delay in either case.
Well, the first time it needs to do a DNS lookup and connect to the host - after that, within the same process it may well be reusing the same connection. For the very first request to anywhere, it may well also be trying to detect proxy settings etc.
If you want to see what's really happening at the network level to make it slow, I suggest you grab Wireshark and monitor the traffic with that.
I noticed the same thing. DotTrace shows it's spending the majority of its time enumerating proxy options: