ediFabric 中 EdiMessage.ToEdi 方法的性能不佳

Poor performance of EdiMessage.ToEdi method in ediFabric

我正在使用 ediFabric 框架生成 X12 850 格式版本 040010 的采购订单。我正在使用 TS850 class 并调用 ToEdi() 方法来生成文件。我 运行 遇到的唯一问题是该方法的性能很差(每次调用需要几百毫秒),我需要生成数百个文件。

public string[] GeneratePurchaseOrders(TS850[] ts850s)
{
   var settings = new X12WriterSettings();

   var separators = Separators.X12;

   separators.Segment = '~';
   separators.ComponentDataElement = '>';

   settings.Separators = Separators;

   List<string> files = new List<string>(ts850s.Length);

   for (var ts850 in ts850s)
   {
       files.Add(ts850.toEdi(settings));
   }

   return files.ToArray();
}

有没有更高效的生成大量文件的方法?

为什么要使用未记录的方法 ToEdi()?示例和文档中都没有提到它,所以我很好奇您为什么选择使用它。

ToEdi() 首先将 EDI 数据写入流,然后将流加载到字符串。

为了写出大消息,我建议使用异步写入方法直接写入文件或流。

Write to a file

Write to stream async