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 数据写入流,然后将流加载到字符串。
为了写出大消息,我建议使用异步写入方法直接写入文件或流。
我正在使用 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 数据写入流,然后将流加载到字符串。
为了写出大消息,我建议使用异步写入方法直接写入文件或流。