C#中的多个HTTP请求

Nik*_*ita 9 .net c#

我需要将大约200个HTTP请求并行发送到不同的服务器并获得响应.我在C#中使用HttpWebRequest类.但是,当并行处理请求时,我看不到好的时间增强.例如,如果一个请求需要3秒来获得响应,2个并行请求 - 6秒,3个请求 - 8秒,4个请求 - 11秒......这是不好的,我希望应该有最好的时间,大约10秒200要求.看起来只有2-3个请求并行执行,但是在创建WebRequest对象后立即启动超时.我尝试了设置DefaultConnectionLimitMaxServicePoints值,但id没有帮助.据我了解这些参数对并行的一个站点的请求数量.我需要不同网站的请求.

我用来测试的代码示例:

ArrayList a = new ArrayList(150);

for (i = 50; i < 250; i++ )
{
   a.Add("http://207.242.7." + i.ToString() + "/");
}

for (i = 0; i < a.Count; i++)
{
    Thread t = new Thread(new ParameterizedThreadStart(performRequest));
    t.Start(a[i]);
}


static void performRequest(object ip)
{
      HttpWebRequest req = (HttpWebRequest)WebRequest.Create((stirng)ip);

      HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
}
Run Code Online (Sandbox Code Playgroud)

Сan有人遇到过这样的问题吗?谢谢你的任何建议.