在读取文件时进行并行API调用(csv)

时间:2014-01-02 09:58:48

标签: c# .net c#-4.0 csv parallel-processing

我有非常具体的要求,我没有任何线索如何开始。我是c#的新手所以请用相当含糊的问题来承担:

我需要读取一个csv文件,并为每个条目进行Web API调用。我想要的是这个:

  1. 读取csv文件的一个条目(行)。
  2. 在DB中进行API调用和存储响应
  3. 当2正在进行时,请继续阅读并缓冲CSV条目。如果可能的话,在写入DB时,继续进行API调用
  4. 有人可以指出我可以实现的方式吗?我正在研究C#,. NET 注意:请随意采取任何csv,API调用等示例。

2 个答案:

答案 0 :(得分:2)

一般性问题的一般答案:

  1. File.ReadAllLines从文件中获取所有行。 String.Split获取一行的所有单元格。
  2. Parallel.Foreach将并行浏览行(在多核环境中)。
  3. 您似乎希望对DB的调用是异步的。您可以使用async-await实现此目的,但前提是您的特定数据库客户端支持异步调用。

答案 1 :(得分:0)

它还取决于csv文件的大小。如果你可以通过File.ReadAllLines将它加载到内存中,那么@ i3arnon提供的场景就是重点。你也可以查看这个网址: Make an Async/Await db call within a Task?