如何在Orchard Modules中实现多线程?

时间:2016-02-04 08:15:40

标签: c# multithreading module orchardcms

这是Orchard中多线程的常见问题。

我有一个带控制器的模块,提供执行数据库同步的操作,这需要很长时间。该动作基本上在几百个项目上执行for循环,而每个项目可以独立处理/同步。

在研究如何提高性能时,我遇到了几种可能的解决方案

  • async / await关键字
  • parallel for loop
  • Orchard.Environment.Work<>
  • Orchard.Caching.IParallelCacheContext
  • Orchard.Caching.ITask
  • async控制器操作(还结合返回值Task<>

还有更多。

在不绕过Orchard中已实现/提供的可能优化的情况下,提高for循环性能的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)