【问题标题】:Can we use multi threading to convert Microsoft Word document to HTML in C#?我们可以使用多线程将 Microsoft Word 文档转换为 C# 中的 HTML 吗?
【发布时间】:2014-03-20 05:18:34
【问题描述】:

我有一个 Windows 服务,它轮询数据库中任何上传的 doc、docx、pdf 和 rtf 类型的文档,并将它们转换为 HTML 并将它们保存到本地文件系统中。文档从数据库中取出并在内存中排队,然后由多个线程从共享队列中提取以进行处理。

我面临的问题是,处理在一段时间内变慢。转换在最初几天发生得更快,例如 2 秒,对于大小为 50 KB 的文档,几天后变慢,例如 20 秒,对于同一文档。我所看到的只是随着时间的推移,处理时间呈下降趋势。我无法确定导致这种下降趋势的原因。即使重新启动 Windows 服务也无济于事。

Microsoft Office 安装在 Windows Server 上用于文档转换。每天有近 2000 个文档被转换为 HTML。

所以我的问题是我们可以使用多线程将 Microsoft Word 文档处理为 HTML 吗?

【问题讨论】:

    标签: c# multithreading ms-word


    【解决方案1】:

    我认为您已经在尽可能多地使用多线程 - 您无法提高 Word 的效率,只需并行运行多个 Word 实例(您正在这样做)。我建议花更多时间进行调查。

    做一些记录/跟踪和分析。找出哪些代码/方法行真的很慢。

    如果结果是 Word 速度很慢,请尝试观察它和系统。缓慢从何而来?是不是用完了所有的CPU?也许磁盘访问过多?也许某处收集了太多临时文件?或者,也许你的内存用完了,Windows 正在疯狂地交换?在最后一种情况下,什么都在使用它?也许您没有正确关闭某些内容(例如 Word 本身或您打开的文件)?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-07
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      相关资源
      最近更新 更多