从COM到DCOM

从COM到DCOM,com,dcom,Com,Dcom,我有一个out-of-proc COM服务器(基于ATL)和一个Java应用程序,可以在同一台机器上实例化来自此COM服务器的对象 启用DCOM还需要什么?只需要在COM服务器上工作,还是在服务器和客户端上工作?我知道这不是一个直接的答案,但我不禁想,也许DCOM不再是正确的解决方案。相反,您可以将COM对象的功能包装在一个WCF web服务中,该服务可以很容易地从Java或C#或其他任何地方调用。请考虑这个备选方案。通常您需要的是通过客户端在服务器端(以及服务器端)注册代理接口。如果您的ATL

我有一个out-of-proc COM服务器(基于ATL)和一个Java应用程序,可以在同一台机器上实例化来自此COM服务器的对象


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

我知道这不是一个直接的答案,但我不禁想,也许DCOM不再是正确的解决方案。相反,您可以将COM对象的功能包装在一个WCF web服务中,该服务可以很容易地从Java或C#或其他任何地方调用。请考虑这个备选方案。

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

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


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

是的,我同意,但我有一个系统,可以使用Dmitry的Outlook Redemption Library(即COM)与Exchange server进行通信,恐怕发布周期太长了。实际上,我想做的是从Java 64位进程使用redemption库,但是redemption(由于其MAPI依赖性)只有32位,因此我的DCOM问题是;我对DCOM的了解已经过时了。我把你的问题提高了,希望它能引起更多人的注意。也许你应该问问COM组件的作者?