我在运行使用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
上课。