这是我的一小部分代码。
protected void ViewVisio(string url)
{
// open document
Microsoft.Office.Interop.Visio.Application visApp =
new Microsoft.Office.Interop.Visio.Application();
Microsoft.Office.Interop.Visio.Document visDoc = // application hangs here
visApp.Documents.Open(url);
...
}
基本上,应用程序只会在打开文档的行上永久挂起。它永远不会超时,即使在几个小时之后,它也永远不会抛出异常。我检查了Windows事件日志,那里什么都没有。
我在我的服务器上安装了具有所有正确权限的Office。我正在使用Word,Excel和PowerPoint文件做同样的事情,它们都工作正常,所以我认为它与此无关。
所以我在这里有点不知所措 - 有谁知道问题是什么?
答案 0 :(得分:3)
永远不要在自动化上下文中运行Microsoft Office。 Microsoft不建议或不支持此功能(请参阅KB257757 here)。
Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定Office在此环境中运行时的行为和/或死锁。