如何在记录可用时同时处理慢进程异步

时间:2018-03-29 22:27:47

标签: c# asynchronous

我目前的代码看起来如此。它有效,但很慢。我试图加快速度,但我无法控制所有对象。

//This is a multi page PDF
var mergedOutput = CreateBaseDocument();

foreach (var item in selectedItems)
{
    //Slow running. processes on different server
    var doc = ExternalService.GetDocument(item.Id);

    //This can also be resource intense and runs on local server
    ThirdPartyComponent.AppendDocument(ref mergedOutput, doc);
}

return mergedOutput;

我认为想要发生的是运行异步的ExternalService.GetDocument(),将它返回的文档添加到队列或可枚举。并行运行我想让我的线程调用AppendDocument,因为这些对象可以从ExternalService获得。

我将如何进行实施。我很擅长运行async

0 个答案:

没有答案