【问题标题】:Invoke .NET remote functions with JRMI client使用 JRMI 客户端调用 .NET 远程功能
【发布时间】:2016-10-05 05:48:07
【问题描述】:

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

【问题讨论】:

  • 不是。 Java RMI 依赖于 Java 序列化,为此您需要一个 JVM。

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


【解决方案1】:

这并非不可能,但几乎可以肯定不值得在纯 .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 接口的本机端,我觉得这很乏味且容易出错。

【讨论】:

    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    相关资源
    最近更新 更多