WebClient构建开销

Bar*_*ast 11 c# webclient

我有一个客户端,它可以生成有限数量的并发Web请求.我为此目的使用WebClient.我目前有一个WebClient-s池,我创建一次并使用任何一个空闲的.

这种方法虽然变得有点麻烦,但我想知道预先构建的WebClient实例集合是否有任何好处,或者是否在运行中创建它们不会太麻烦?

San*_*der 11

为什么你首先会有一个WebClients池?它们是小而廉价的物品.您是否通过测量确定这是必要且有益的?我猜不是吗?

对象实例化几乎总是便宜的.HTTP连接也不贵.WebClient池是过早优化.没有必要 - 随意创建任意多个.

  • 嗯,那是我问的问题 - 值得拥有一个游泳池.谢谢你的回答.:p (5认同)

Dar*_*rov 8

根据Reflector所有,WebClient的构造函数都是这样的:

public WebClient()
{
    this.m_Encoding = Encoding.Default;
    this.m_ContentLength = -1L;
}
Run Code Online (Sandbox Code Playgroud)

所以没有你没有太多的好处,有一个游泳池.

  • 其他地方可能会有昂贵的延迟初始化. (7认同)