在.NET 1.1中异步调用WEB SERVICE时出现这个的异常咋办?由于需要经常执行WEB调用,我已经将线程池中的最大线程数设成了100,还是报异常,郁闷~~~,如果像这样
while (true)
{
....
ThreadPool.GetAvailableThreads(out wt,out ct);
if( wt < 5)
{
Thread.Sleep(1000);
continue;
}
....
}
等半天都空不出来呀~~~有没有啥子办法可以从根本上解决问题的?????
while (true)
{
....
ThreadPool.GetAvailableThreads(out wt,out ct);
if( wt < 5)
{
Thread.Sleep(1000);
continue;
}
....
}
等半天都空不出来呀~~~有没有啥子办法可以从根本上解决问题的?????
解决方案 »
- C#/C++初学者的问题又来了
- winform窗体最小化后……
- 100分问在程序运行前.如何检查客户端的机器是否安装有net运行环境?如果没有则引导用户安装.
- $$$$$$$$$$$$高分求 工资管理系统!!!!!!!!
- 配置iis
- 怎样把字符串转换成真正的数字?
- combox绑定到dataview,如何实现关联?
- .net高手进,隐士也来看看,求助!!
- 如何给"select * from a where b=?"这样的sql语句加参数???在线结帐!!
- 在C#中如何做数据导入或合并功能,请做过这方面功能的大侠们留下代码??????
- 怎样编程查询Access数据库中的表数和各表的表名?
- WEBSRVICE解析XML的问题
你设置时间长一点试试.
你如何做到的?这个得改CLR Host的配置,否则默认最大值是CPU数 * 25
另外一个方面,怎么会需要这么多线程?异步调用完成后,线程就会结束,然后返回线程池手工创建线程的意思是,自己new Thread(new ThreadStart(xxx)),然后Thread.Start启动线程,这也相当于异步。这个线程不受线程池限制(但是如果数量太大,会严重影响系统性能,线程本身也要开销)
因为是调用远程WEB服务,WEB服务的调用是在框架内部实现的异步调用方式,没法直接手工创建线程啊~