无法从使用c#(Windows 2003服务器)编写的Windows服务访问DCOM对象,但可以在作为控制台应用程序托管时访问该对象

时间:2010-02-23 17:14:17

标签: c# .net-3.5 dcom

我在C#中编写了一个应用程序,它通过DCOM对象写入会计系统(对象的名称是Toolkit Object)。当此应用程序在Windows 2003中作为Windows服务托管时,该服务无法打开DCOM对象,尽管运行该服务的用户标识具有所有必要的访问权限。

当我使用控制台应用程序托管相同的应用程序时,它可以正常工作。

我尝试通过DCOMCNFG调整对DCOM对象的访问权限,但似乎没有任何效果。

1 个答案:

答案 0 :(得分:0)

COM使用Windows消息在进程之间进行通信。所以第一个问题是:您的服务是否有消息泵?如果没有,那很可能是问题所在。

尝试创建隐藏窗口(或可见窗口以测试假设)。