Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我的web应用程序在使用Microsoft.Office.Interop.Word时超时?_C#_Asp.net_Ms Word_Office Interop - Fatal编程技术网

C# 为什么我的web应用程序在使用Microsoft.Office.Interop.Word时超时?

C# 为什么我的web应用程序在使用Microsoft.Office.Interop.Word时超时?,c#,asp.net,ms-word,office-interop,C#,Asp.net,Ms Word,Office Interop,我一直在我的Web服务器中使用Microsoft.Office.Interop.Word(是的,我知道不建议这样做)。当我在我的机器上运行它时,它运行正常,但是当在服务器上运行时,我在下面的行上得到一个超时: Documents.Open //when trying to open the file. 有什么我遗漏的吗?是否有更好的方法在web服务器/网站中编辑Word文档?(我无法使用字符串生成器创建新的字符串或将其输出到文件中;我需要编辑位于服务器上的现有字符串。) 如果您有任何意见,我将

我一直在我的Web服务器中使用
Microsoft.Office.Interop.Word
(是的,我知道不建议这样做)。当我在我的机器上运行它时,它运行正常,但是当在服务器上运行时,我在下面的行上得到一个超时:

Documents.Open //when trying to open the file.
有什么我遗漏的吗?是否有更好的方法在web服务器/网站中编辑Word文档?(我无法使用字符串生成器创建新的字符串或将其输出到文件中;我需要编辑位于服务器上的现有字符串。)


如果您有任何意见,我将不胜感激,因为我已经被困在这个问题上好几天了。

永远不要使用服务器应用程序中的任何Office应用程序。它不受支持,很可能是非法的,而且在任何情况下都不起作用。

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

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


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

我认为服务器中没有Office。最好的方法是使用DocX来修改DocX文件。


我在办公自动化系统上运行了自动化办公应用程序,因为Office 97在C++和C语言中都是没有问题的。它们每天生成数百份报告,包括排队报告和按需报告,格式多种,具体取决于需求,所有报告都由输出扩展(doc/docx、xls/xlsx、pdf、html、bmp、jpg)驱动,这些扩展来自word模板和共享程序集中函数生成的数据表


自动化挂起通常由错误或丢失的参数引起,对于web服务器和自动化服务器,写入事件日志是确定问题出现的关键。制作一个好的可重用函数库来实现自动化并测试它们的无用之处。然后在其他项目中使用它是很简单的,您不会浪费时间不断解决问题。

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

在web服务器/网站中编辑Word文档是我今天听到的最奇怪的事情。你为什么可能需要这样做?您是否根据用户输入的信息在服务器上构建Word文档?还是你想让用户在不必购买和安装Office的情况下通过Internet创建Word文档?哈哈,我很高兴这是你听到的最奇怪的事情。你问我这样做的原因是:我们有一个内部网站,需要根据用户信息修改服务器上的word文档,然后直接打印(然后丢弃文档)。另一种选择(我现在正在使用)是创建一个网站,填充信息并打印自己,但公元前三年,我们想使用一些我尝试使用的单词。不管怎么说,它不起作用了……那么,关于如何通过编程修改word文档,你有什么想法吗?Wuser:有很多商业产品允许你这样做。“Aspose”就是其中之一。这不是一个建设性的回答,“不起作用”是没有信息的。我对这里的类过程超时有一个问题,一些关于调试的指导会很好。从ASP.NET或其他服务器技术使用Office互操作是一个可怕的想法。这些API是为在桌面应用程序中使用而编写的,用于自动化Office(一套桌面应用程序)。服务器应用程序在许多方面都不同,因此在其中使用Office互操作是一个非常非常糟糕的主意。它也不受Microsoft支持,可能会违反您的Office许可证。看,我认为这应该是一个评论。它并不试图回答OP的问题。
     using (DocX document = DocX.Load(filename))
        {
            document.ReplaceText(a, b);
            document.Save();
        }