从 C# 与 java 代码交互
-
20-09-2019 - |
题
我们已经编写了一个 Java 程序,我们希望通过 C# 使用该程序并与之交互。我们有什么选择?最佳情况下,可以将 Java 应用程序编译为库 (.DLL),我们可以使用 P/Invoke 从 C# 中引用该库。然而,根据前几次在线搜索,这似乎不是一个选项。
我们选择能够使用 ASP.NET 构建由 Java 代码支持的搜索引擎,因此如果有任何其他选项可供选择,请告诉我们。
解决方案
对不起,你 cannot
呼叫java code / classes
Directly
从C#代码。
这样做的一个方法是 wrap
你java类 java Web Service
和呼类 indirectly
通过这一网服务接口在C#代码。
另一种方式是使用
javareg.exe
这暴露了java类 COM
.你可以找到它在下列位置:
C:\Program Files\Microsoft VisualStudio\VIntDev98\bin\javareg.exe
以下员额可能会有所帮助
- 叫Java类直接从 .净 (使用运行时桥)
- 叫Java Microsoft.NET
其他提示
最简单的方法很可能会发布您的Java库作为Web服务的功能,并从你的asp.net应用程序添加Web引用。
这当然是可能的Java包在一个.dll,而且一直是核心Java平台的超过10年的一部分。 JNI(Java本地接口)对你的代码中嵌入一个JVM,这意味着你可以使用C风格的联运行Java类的接口。请注意,这将要求你写一个简单的C包装,有内样本: http://java.sun.com/docs/books/jni /html/invoke.html#11202
由于一些其他职位的建议,有时是希望少紧密耦合,所以你可能要考虑使用其他的设计。一种选择是一个简单的数据库,其中的Java应用程序定期从C#代码请求调查。如果你想更紧密的耦合,对于像回调,你可以看看分布式接口。
不隶属于 StackOverflow