我目前的代码看起来如此。它有效,但很慢。我试图加快速度,但我无法控制所有对象。
//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