问题标签 [umbraco-ucommerce]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
61 浏览

c# - uCommerce - 无状态 API - 并行性

我们正在使用 uCommerce Stateless API 将产品批量导入 uCommerce (Umbraco),请参阅:https ://docs.ucommerce.net/ucommerce/v9.5/system-integration/bulk-import-from-third-party-systems .html

导入需要 12 个小时才能完成,这太慢了,我们需要引入并行性。

我们的代码在 .Net Framework 控制台应用程序中使用 async/await 模式。

我创建了一个 Task 类型的列表,然后使用 await Task.WhenAll(tasks); 并行执行

任务由以下方法返回。

但是,当为每个任务调用方法时,这会导致异常:

  • 外部异常:“将 DbDataReader 转换为
    NDataReader
    时出现问题”
  • 内部异常:“<strong>在有异步操作挂起时无法启动另一个操作”</li>

这似乎是 uCommerce/NHibernate 的潜在约束。我猜是因为它在某处共享一个 DBContext。

问:我们如何使用具有并行性的 uCommerce 无状态 API?

有没有办法获得 ISessionProvider 的独立实例?