使用JRMI客户端调用.NET远程函数

时间:2016-06-05 15:27:03

标签: c# windows-services rmi rpc .net-remoting

我需要在.NET中编写Bridge应用程序,客户端是Java RMI。 我试图找到在.NET中实现服务器的正确方法。

1 个答案:

答案 0 :(得分:0)

这并非不可能,但在纯.NET中开发桥梁几乎肯定不值得。如果您无法将客户端更改为更具互操作性的技术(某些多语言RPC或REST),请考虑如何将RMI的Java服务器端合并到桥接应用程序中。

例如,您可以在使用C / C ++开发的“本机”进程中托管JVM,也可以将本机代码的DLL加载到JVM进程中。在任何一种情况下,您都使用JNI从Java与C / C ++进行通信。您可以在C ++ / CLI中开发C / C ++端以转换到.NET。 (这导致了JVM和CLR在同一进程中运行的有趣场景,我从未亲自使用过。)

或者,您可以将服务器端Java和.NET分离为不同的进程,并让它们再次使用多语言RPC或REST进行通信(请注意,这不需要更改客户端)。如果您正在桥接的接口很大,您可能更喜欢这种方法来编写大型JNI接口的本机端,我觉得这很乏味且容易出错。