从 COM 到 DCOM

Posted

技术标签:

【中文标题】从 COM 到 DCOM【英文标题】:Going from COM to DCOM 【发布时间】:2009-07-23 15:15:58 【问题描述】:

我有一个 out of proc COM 服务器(基于 ATL)和一个 Java 应用程序,它在同一台机器上从这个 COM 服务器实例化对象。

DCOM 启用它还需要什么?是只需要在 COM 服务器上工作还是需要在服务器和客户端上工作?

【问题讨论】:

也许你应该问问COM组件的作者? 【参考方案1】:

通常您只需要通过regsvr32 在客户端(以及服务器端)注册代理接口。如果您的 ATL 对象都是基于 IDispatch 的,并且这就是您调用它们的方式(不是通过自定义接口),那么默认代理已经在 Windows 机器上注册。

此时您应该只需要指定实际对象所在服务器的机器名称。

与任何 DCOM 远程处理一样,您可能会遇到从客户端到服务器的 DCOM 权限问题,这通常可以通过在服务器端使用 DCOMCnfg 来解决(如果正在使用回调,也可能在客户端上) )。当然还有潜在的防火墙问题 - 您可能需要允许端口 135(DCOM 使用的 RPC 映射器)的异常通过服务器。

【讨论】:

【参考方案2】:

我知道这不是一个直接的答案,但我不禁想到也许 DCOM 不再是正确的解决方案。您可以改为将 COM 对象的功能包装在 WCF Web 服务中,该服务可以轻松地从 Java 或 C# 或其他任何方式调用。请考虑这个替代方案。

【讨论】:

是的,我同意,但我有一个系统可以利用 Dmitry 的 Outlook Redemption Library(即 COM)与 Exchange Server 通信,而且发布周期有点太慢了我害怕。实际上我想要做的是使用 Java 64 位进程中的赎回库,但赎回(因为它的 MAPI 依赖性)只有 32 位,因此我的 DCOM 问题。 很抱歉,我无法在这里提供可靠的信息;我对 DCOM 的了解已经过时了。 我提出了你的问题,希望能引起更多关注。

以上是关于从 COM 到 DCOM的主要内容,如果未能解决你的问题,请参考以下文章

继续从 www.domain.com 重定向到 domain.com

从 old.com 到 new.com 的 301 重定向

从 COM 到 DCOM

从 example.com 重定向到 www.example.com

使用 COM 互操作将对象从 C# 传递到 VBA

我可以创建从 www.xcompany.com 到 shop.xcompany.com 的 301 重定向吗?