0

我有一个 WCF 服务,它会为单个事务调用 4 个肥皂网络服务(4 个服务的总响应时间超过一分钟),最后它将在 SQL 2008 数据库中记录事务状态。我第一次使用后台工作人员,它工作正常,直到 30 次调用,如果我们增加超过 30 次调用的音量,则后台工作进程被取消。现在我正在考虑使用多线程。可以提出一些建议,这是适合我情况的最佳异步方法。

4

1 回答 1

1

当你有这么多并发操作时,切换到异步 IO 是有意义的。有多种型号可供选择。最好的显然是 async-await 与 TPL 的结合。我鼓励你看看它。

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

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

于 2013-05-12T11:25:14.407 回答