从 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