首页 新闻 会员 周边 捐助

并发调用WebService

0
悬赏园豆:10 [已解决问题] 解决于 2014-06-14 17:37

我现在要调用好个WebService。每一个WebService都很耗时。

 

我想在调用WebService的时候,做其它工作。

 

这些代码要如何写

需要格局的主页 需要格局 | 老鸟四级 | 园豆:2145
提问于:2014-06-12 14:59
< >
分享
最佳答案
0

对于不懂多线程的初学者来说,BackgroundWorker是一个比较容易使用的组件。

将调用WebService的代码写在Dowork里面,

将完成后想要进行的工作写在Completed里面。

收获园豆:5
爱编程的大叔 | 高人七级 |园豆:30844 | 2014-06-12 15:35
其他回答(2)
0

你可以用 BeginXXXX 调用,也可以把 XXXX 调用放置到其它线程中,还可以用 HttpWebRequest.BeginGetResponse,还可以用 Socket.SendAsync,Socket.ReceiveAsync。

收获园豆:2
Launcher | 园豆:45050 (高人七级) | 2014-06-12 15:07
0

那就使用线程吧,你看一下你有几个WebService是比较耗时的,你就将其用线程去调用它,如下代码所示

ServiceReference1.WebServiceSoapClient a = new ConsoleApplication2.ServiceReference1.WebServiceSoapClient();//这个a就是你的WebService对象
Thread t1 = new Thread(new ThreadStart(a.HelloWorld));//HelloWord方法
Thread t2 = new Thread(new ThreadStart(a.Nice));//Nice方法
Thread t3 = new Thread(new ThreadStart(a.See));//See方法
t1.Start();
t2.Start();
t3.Start();


这样一来,就达到了你想要的效果了

收获园豆:3
LgV5 | 园豆:221 (菜鸟二级) | 2014-06-12 15:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册