将数据从Java进程返回到调用C#。可能?

时间:2011-02-01 09:59:03

标签: c# java process

我会简短地解释我的情况,希望你能告诉我是否有可能做什么。

我有一个现有的java应用程序,我想分成模块。为了处理和控制这些模块,我将在C#.net中编写一个模块管理器。由于现有程序的大小,大部分现有模块不会在.net中重写,而是作为java模块保留。

是否可以调用java“模块”,传递参数并让java模块返回一个值(除了int)?

我为不太了解这个地区而道歉。

亲切的问候

5 个答案:

答案 0 :(得分:1)

嗯...也许像MSMQ,Apache ActiveMQ或IBM WebsphereMQ这样的MessageQueues可以解决您的问题。

在队列中,您可以存储和接收包含所需信息的XML消息。

有关此内容的一些信息可在此处找到: http://msdn.microsoft.com/en-us/library/ms973816.aspx

另一个approch可以使用控制台输出..但恕我直言这不是一个好的解决方案。

答案 1 :(得分:1)

我会将Java实例化为一个单独的服务,并使用(比如)Web服务Hessian等来调用它。

或者,你看过jni4net吗?

答案 2 :(得分:1)

如果一切都在Java中,那为什么要把所有东西都搬到C#?从你所说的开始,用Java编写模块管理器并将代码库全部保存在一种语言中会更有意义(除非我当然缺少某些东西,在这种情况下忽略!)

如果你真的需要这样做,那么我会说网络服务是最好的方式,你可以使用其他黑客和各种tools,但是一个网络服务会完全抽象语言远离并使事情更容易消费。

答案 3 :(得分:0)

您可以将Java模块公开为soap Web服务,并从C#中使用它。

Here您可以阅读Axis其中一个Java Soap引擎和quick tutorial如何使用C#创建和调用它。

答案 4 :(得分:0)

我也没试过,但希望阅读这个帖子可以帮助你...... :)

Java - C# interop