gpt4 book ai didi

c# - 我们可以在 C# 中使用多线程将 Microsoft Word 文档转换为 HTML 吗?

转载 作者:行者123 更新时间:2023-11-30 22:38:42 26 4
gpt4 key购买 nike

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

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

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

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

最佳答案

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

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

如果发现是 Word 运行缓慢,请尝试观察它和系统。缓慢从何而来?它会占用所有 CPU 吗?也许磁盘被访问得太多了?也许某处收集了太多临时文件?或者也许您的 RAM 已用完,而 Windows 正在疯狂地进行交换?在最后一种情况下,什么在使用它?也许您没有正确关闭某些内容(例如 Word 本身或您打开它的文件)?

关于c# - 我们可以在 C# 中使用多线程将 Microsoft Word 文档转换为 HTML 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6004974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com