我用 C# 编写了一个应用程序,它通过 DCOM 对象(对象的名称是 Toolkit 对象)写入会计系统。当此应用程序在 Windows 2003 中作为 Windows 服务托管时,该服务无法打开 DCOM 对象,尽管运行该服务的用户身份具有所有必要的访问权限。
当我使用控制台应用程序托管相同的应用程序时,它工作正常。
我已经尝试通过 DCOMCNFG 调整对 DCOM 对象的访问权限,但似乎没有任何效果。
最佳答案
COM 使用 Windows 消息在进程之间进行通信。所以第一个问题是:你们的服务有消息泵吗?如果不是,那很可能是问题所在。
尝试创建一个隐藏窗口(或一个可见窗口来检验假设)。
关于c# - 无法从用 c#(Windows 2003 服务器)编写的 Windows 服务访问 DCOM 对象,但在作为控制台应用程序托管时可以访问该对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2320167/