I have problem with Webclient.
It is very slow. It takes about 3-5 seconds to downloadString from one website. I don\'t have any network problems.
This is my
Maybe it will help somebody. Some web services support compression (gzip or other). So you can add Accept-Encoding header for your requests and then enable automatic decompression for web client instance. Chrome works in that way.
There may be two issues at hand here (that I've also noticed in my own programs previously):
WebRequest
by default detects and loads proxy settings the first time it starts, which can take quite a while. To stop this, simply set the proxy property (WebRequest.Proxy
) to null
and it'll bypass the check (provided you can directly access the internet)ServicePointManager.DefaultConnectionLimit
to something larger. I usually set this to int.MaxValue
(just make sure you don't spam the host with 1,000,000 connections).There are a few options if it is related to the initial proxy settings being checked:
Set the proxy to null:
WebClient.Proxy = null
On application startup set the default webproxy to null:
WebRequest.DefaultWebProxy = null;
In older .NET code instead of setting to null, you used to write this (but null is now preferred):
webclient.Proxy = GlobalProxySelection.GetEmptyWebProxy();