目前,我有一段代码需要对各种数据提供者进行大约 7 次 Web 服务调用。每个调用都需要几秒钟的时间来执行,所以我想并行运行它们以加快速度。
我已经将我的 7 个调用封装在一个 Parallel.Invoke 中,它非常适合同时运行几件事情,但是在一个 2 核服务器上,它一次只能执行 2 个,每个内核一个。由于我所做的只是等待 Web 服务调用返回,因此我希望它获取所有 7 个并等待它们返回。
有没有办法做到这一点?或者也许我的方法是错误的?也许我需要创建对 Web 服务的异步调用?但是,如何等他们都回来再继续前进呢?