webclient问题

john51200 2011-12-30 04:28:19
使用线程池来多线程调用webclient,使用异步方式调用,当线程池最大线程数为3时可以得到响应数据,当最大线程数大于3时则无法获得响应数据。
主要代码如下:
public void getPage(string url)
{
Uri uri = new Uri(url);
WebClient wc = new WebClient();
wc.Headers.Add("Accept", "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*");
wc.Headers.Add("Accept-Language", "zh-cn");
wc.Headers.Add("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)");
wc.Headers.Add("Cookie", strCookie);
wc.DownloadDataCompleted += new DownloadDataCompletedEventHandler(wc_DownloadDataCompleted);
wc.DownloadDataAsync(uri);
}
void wc_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
//对响应结果的处理
}
每一个线程都会多次调用getPage函数
...全文
57 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
john51200 2012-01-04
  • 打赏
  • 举报
回复
没人知道了吗?自己顶一下!
john51200 2011-12-30
  • 打赏
  • 举报
回复
按照上面的改了,还是不行,仅仅只是把回调函数放在了前面而已,没有解决问题

110,524

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧