我有一系列变换块,可以将数据传输到管道中。
var getPdfFiles = new TransformManyBlock<string[], string>(files =>
{
Console.WriteLine("Finding pdf files.....");
var pdfFilePaths = new ConcurrentQueue<string>();
Parallel.ForEach(files, file =>
{
pdfFilePaths.Enqueue(file);
});
return pdfFilePaths;
});
var generateBitmapFromPdfMemoryStream = new TransformBlock<string, Bitmap>(filePath =>
{
return _pdfConverterService.ConvertPdfToBitmapAsync(filePath);
});
var generateQRCodeResponseFromBitmap = new TransformBlock<Bitmap, QRCodeResponse>(bitmap =>
{
return _barcodeService.Read(bitmap);
});
在我收到每个QRCodeResponse时,我需要将从QRCodeResponse中的数据派生的新项目添加到集合中。一个名为BatchItem的项目。
我不确定如何构建此系列。我还需要在完成后将这个集合进一步传递给管道。