【发布时间】:2013-05-12 05:01:15
【问题描述】:
我有一个 WCF 服务,它会为单个事务调用 4 个肥皂网络服务(4 个服务的总响应时间超过一分钟),最后它将在 SQL 2008 数据库中记录事务状态。我第一次使用后台工作人员,它工作正常,直到 30 次调用,如果我们增加超过 30 次调用的音量,则后台工作进程被取消。现在我正在考虑使用多线程。对于我的情况,有什么建议是最好的异步方法。
【问题讨论】:
-
没有代码示例是无法回答的。当您使用
BackgroundWorker时,您正在使用多个线程,并且没有理由将其限制为 30 个实例。在您更改设计之前,我会首先确保您没有错误。 -
我没有任何错误,但是当调用增加到 30 以上时,就会出现问题。有时它只处理 60 个调用中的 36 个调用,有时它处理相同 60 个调用中的 47 个调用。
标签: c# performance wcf web-services asynchronous