[C#] WebClient性能优化

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那样的单纯点的类库呀?



原文地址:https://www.cnblogs.com/hehe520/p/6330320.html