从REST服务到外部soap Web服务进行多个异步调用的最佳方法

时间:2013-05-12 05:01:15

标签: c# performance wcf web-services asynchronous

我有一个WCF服务,它为单个事务调用4个soap webservices(4个服务的总响应时间超过一分钟),最后它将在SQL 2008数据库中记录事务状态。我第一次使用后台工作程序,它工作正常,直到30个电话,如果我们增加超过30个电话的音量,那么后台工作程序进程被取消。现在我正在考虑使用多线程。对于我的情况,可以提出一些最好的asnyc方法。

1 个答案:

答案 0 :(得分:1)

如果有那么多并发操作,切换到异步IO是有意义的。有多种型号可供选择。最好的一个显然是异步 - 等待与TPL的结合。我鼓励你抬头看看。

BackgroundWorker给你带来麻烦的原因是因为同步IO使用了线程,而且你经常遇到一些非确定性限制。

在任何情况下,放弃基于线程的解决方案,因为它们在高度并行性方面存在问题。