【问题标题】:Adding Bulk Inserting to Web API向 Web API 添加批量插入
【发布时间】:2014-04-03 22:41:40
【问题描述】:

我们有一个 API,公司可以使用该 API 将产品添加到我们的目录系统中。

问题在于,目前它是一次 1 项设置,对于一次将输入 10-20k 个条目的供应商来说,这是一个巨大的痛苦。

我希望向 api 添加批量选项,但不确定如何为此添加同步支持。

我正在使用 MVC 5 & Web API 2 和 .NET 4.5

我在此找到的所有内容都是关于上传而不是批量插入记录。

编辑:

我应该补充一点,用户一次会将数据分块为 20-50 条记录。

【问题讨论】:

  • 就个人而言,我会选择将文件处理添加到您的 api 的路线。在您使用带有 List 或 Product[] 的 POST 一次对处理 20/50 个项目进行编码的麻烦之后,您的客户端将被限制为将小段泵入您的 api,而他们本可以将它们全部批处理并立即发送。
  • 问题是他们给我们的大容量文件有很多数据,我们必须先进行排序和清理,所以这不是一个选择。

标签: c# asp.net-mvc api async-await


【解决方案1】:

您可能会发现那些对上传的引用,因为处理您描述的内容的最佳方法是提供上传产品文件然后处理文件服务器端的功能。

如果您在 api 中添加一个方法来接受包含 20k 个条目的 blob,那么您必须将最大 http 请求/json 大小设置为天文数字。更不用说在传输数据时向客户提供反馈是一项艰巨的任务。

通过使用异步文件上传,您可以向用户提供文件传输进度,整个过程将不易出错。您可以将处理分成块。

批量插入/复制更像是一个数据库术语,描述了一种将大数据上传到数据库的更有效方式。

【讨论】:

  • 这个想法是用户将他们的数据分块并一次插入 20-50 个。
  • 我建议您更新您的问题以反映这种情况。
猜你喜欢
  • 1970-01-01
  • 2017-10-05
  • 1970-01-01
  • 2015-09-12
  • 1970-01-01
  • 1970-01-01
  • 2018-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多