在ASP.NET应用程序中创建Microsoft Word对象

时间:2014-12-04 18:50:55

标签: c# asp.net .net iis-7.5 office-interop

我在运行使用ASP.NET和框架4.0的应用程序的2008 R2服务器上安装了IIS 7.5。应用程序创建一个单词报告,首先打开一个HTML网页,选择所有内容并将其复制到一个单词模板,然后将其保存在一个位置。如果我运行Visual Studio Express 2010的应用程序,应用程序运行正常,并做它应该做的一切。但是,当我从IIS运行它时,应用程序挂起。我将InternetExplorer对象和Word对象设置为可见,这样我就可以看到发生了什么(通常设置为false),并且没有Internet Explorer可见或Word,即使我可以在任务管理器中看到这些进程正在运行。如果我让它运行,将抛出一个异常,说:

  

"此命令不可用,因为没有文档打开"

使用代码进行第一个操作时word.ActiveDocument.Select();这是word.Documents.Open();之后如果我在word.Activate();之前放置word.Documents.Open();,则会抛出另一个异常:

  

"无法激活应用程序"

我们的AppPool设置为具有超级管理员权限的本地用户,文件夹包含用户,AppPool和本地用户,拥有所有权限,我已将DCOM设置设置为默认值并添加了缺少的用户。我知道微软建议不要使用Office Automation,但现在我们正在使用它。

我猜问题是有一些权限,但我不知道还有什么要看的。同样非常奇怪的是,应用程序设置为可见,并且任务管理器中显示的进程已启动并运行,但即使IE窗口也未显示。

编辑:

我将更改代码以使用OpenXML SDK,因为我遇到的所有信息和评论都会导致这一点,但我会留下问题,看看是否有人有更多信息。此问题的另一部分是IE对象被创建,初始化并且进程已启动,但即使对象设置为可见,也没有窗口可见,任何人都可以对此有所启发吗?

我正在使用

InternetExplorer上课。

0 个答案:

没有答案