连接C#和Java的最佳方式是什么?
假设您有两个产品,一个是用Java编写的,另一个是用C#编写的。您喜欢基于Java的后端(非用户可见部分),但希望使用C#(WPF)前端。连接它们的最佳方式是什么 请注意,后端必须能够在服务器或本地计算机上运行,前端应该能够连接到其中一个 我的第一个想法是使用类似Web服务的东西 走吧 编辑连接C#和Java的最佳方式是什么?,c#,java,C#,Java,假设您有两个产品,一个是用Java编写的,另一个是用C#编写的。您喜欢基于Java的后端(非用户可见部分),但希望使用C#(WPF)前端。连接它们的最佳方式是什么 请注意,后端必须能够在服务器或本地计算机上运行,前端应该能够连接到其中一个 我的第一个想法是使用类似Web服务的东西 走吧 编辑 转换代码或在各种中立VM(IKVM)中运行代码不是一个选项。在java后端公开web服务,并让C#前端与java web服务对话。看看WCF(windows communication foundation
转换代码或在各种中立VM(IKVM)中运行代码不是一个选项。在java后端公开web服务,并让C#前端与java web服务对话。看看WCF(windows communication foundation),它可能会使与java web服务的对话变得更容易。您可以使用web服务
或者,您可以使用IVKM将java代码直接嵌入到.NET程序集中。我已经开发了一个C#富客户端的java后端。他们通过网络服务进行交流。我们真正遇到的唯一问题是继承层次结构,web服务WSDL会删除它 Web服务应该是您的默认选择,因为在该领域中有很多关于互操作性的工作 如果您不介意紧密耦合,并且必须做出基于性能的决策,那么我遇到的两个解决方案是:
HTTP+(POX | JSON)和REST体系结构有很多值得一提的地方 我确实认为跨Java/.NET平台使用Web服务存在一些互操作性问题。例如,同时使用Axis2和.net会出现一些问题。在大多数情况下,存在变通办法
不过,我听到了一些关于使用REST体系结构的好评论。有几种方法可以创建/获得java和.net系统之间的互操作性
- 网络服务
- visualj#
- Java本机接口(JNI)
- 字节码翻译
- 运行时桥