为什么我的Web应用程序使用Microsoft.Office.Interop.Word超时?

时间:2011-02-21 05:35:40

标签: c# asp.net ms-word office-interop

我一直在我的网络服务器中使用Microsoft.Office.Interop.Word(是的,我知道不推荐)。当我在我的机器上运行它时它运行正常,但是当在服务器上运行时,我在下一行上得到超时:

Documents.Open //when trying to open the file.

有什么我想念的吗?有没有更好的方法来编辑Web服务器/网站中的Word文档? (我无法使用字符串构建器创建新文件或输出到文件中;我需要编辑位于服务器上的现有文件。)

任何输入都会受到赞赏,因为我已经坚持了几天......

5 个答案:

答案 0 :(得分:0)

切勿使用服务器应用程序中的任何Office应用程序。它不受支持,很可能是非法的,无论如何都不起作用。

答案 1 :(得分:0)

仅仅因为您可以在服务器上使用Office应用程序并不意味着您应该这样做。问题之一是Office自动化是单线程的。

John Saunders说对,商业产品是在服务器上创建Word文档的好方法。 Aspose制造的产品就像它的竞争对手SoftArtisans一样,我和他一起工作了很短的时间。虽然我知道可以创建Excel文件的开源产品,但我还没有找到任何Word文件。

最后一点:.xlsx和.docx文件格式的API是公共的。然而,它们并不是非常容易使用。

答案 2 :(得分:0)

我认为您在服务器中没有Office。最好的方法是使用DocX修改docx文件。 https://docx.codeplex.com/

     using (DocX document = DocX.Load(filename))
        {
            document.ReplaceText(a, b);
            document.Save();
        } 

答案 3 :(得分:0)

我已经在服务器上运行自动办公应用程序,因为Office 97在C ++和C#中都没有问题。它们每天生成数百个报告,排队和按需,以多种格式,具体取决于要求,所有报告均由字模板的输出扩展(doc / docx,xl​​s / xlsx,pdf,html,bmp,jpg)驱动DataTables是从共享程序集中的函数生成的。

自动挂起通常​​由错误或缺少的参数以及Web服务器和自动化服务器引起,写入事件日志是确定问题出现的关键。创建一个良好的可重用函数库来进行自动化并测试它们的废话。然后在其他项目中使用它是微不足道的,你不会浪费时间不断解决问题。

答案 4 :(得分:0)

权限,权限和权限, google例如office interop DCOMCNFG