【发布时间】:2011-11-11 08:27:24
【问题描述】:
我有一个自己托管 WCF 服务的 .NET Windows 服务。然后,此 WCF 服务继续调用在 Visual Studio 6 上用 ATL 编写的旧 COM 组件。此 COM 组件然后创建 Excel.Application COM 组件。它在这个 Excel COM 组件上调用各种方法,然后在其上调用 SaveAs 以完成文档的保存。此 SaveAs 方法调用失败。 Windows 服务作为本地系统运行,所以我认为这一定是一些权限问题。所以我更改了 Windows 服务,使其在我的用户帐户下运行(只需进入 services.msc,停止服务、属性、更改登录并重新启动服务)。但是,同样的问题仍然存在。
我创建了一个快速的 .NET Win Forms 测试应用程序,然后从那里运行 COM 组件。这工作正常。该应用程序在我的用户帐户下运行,所以我认为在我的帐户下运行 windows 服务会产生相同的效果。
Windows 服务有什么问题(即使它在我的用户帐户下运行)?我该如何解决这个问题?
【问题讨论】:
-
当您在 WinForms 测试应用程序中进入“另存为...”时,是否会出现“另存为...”对话框窗口?
-
你能比调用失败更具体吗?你怎么知道它失败了,错误信息是什么,它是如何表现出来的?