[C#] WebClient性能优化 – 王绍全的博客 – 博客频道 – CSDN.NET

WebClient缺省是为了安全和方便,不是为了性能。所以,当你打算做压力测试的时候,就会发现WebClient很慢。

WebClient性能很差,主要原因有:

1、它缺省会使用IE的代理设置,而IE的代理设置默认是‘自动检测’。这意味着每个进程在第一次使用WebClient的时候都要自动检测一次代理,这常常会耗时5秒钟以上。

2、WebClient遵循了一个古老的垃圾设定“对每个网站最多只发起两个并发连接”

 

因此,可以如下优化WebClient的性能:

1、WebClient.Proxy = null,禁止它使用proxy

2、ServicePointManager.DefaultConnectionLimit = 500;

 

另外,ServicePointManager还有几个属性也可能影响性能:Expect100Continue、UseNagleAlgorithm、CheckCertificateRevocationList

 

WebClient用起来真麻烦。

 

有没有类似curl那样的单纯点的类库呀?

来源URL:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c42246040223a2f83a715042889422301cf91e1ab9ab68332a0526b49bc98e4ed6afd7756fde2865671c875612a25cf89b5124b171ce01bef35ff0ba8172c0f28784&p=c939f916d9c119f208e2947d084f96&newp=87778653c8904ead19bd9b7e0e139d231610db2151d7d554&user=baidu&fm=sc&query=c%23+webclient+Range&qid=9fd8454e002c277d&p1=10