WinApp在C#中调用java程序

时间:2009-04-03 08:32:23

标签: c# java

我有一个c#winapp,它通过tcp调用java应用程序,并通过tcp将所有内容发送回c#。

我之所以使用java是因为我收到了一个java api。所以我写了一个小的java应用程序,它调用api并获取我需要的所有数据。

所以我想知道是否有另一个解决方案。因为它很慢,特别是有大量数据。

由于

6 个答案:

答案 0 :(得分:5)

本地计算机上的TCP应该非常快(命名管道可能会快一些,但两端可能更难)。

最大的瓶颈可能是数据的序列化和反序列化。您目前使用什么格式来表示数据?

答案 1 :(得分:2)

听起来像你需要对此进行分析。你确定它的网络方面很慢吗?或序列化/反序列化,或超出数据传输的实际客户端/服务器处理。

在您提供分析解决方案之前,您应该确定特定的问题点。

答案 2 :(得分:1)

你收到了一个java api,你写了一个小的java api ...所以你知道java。为什么不在java中编写应用程序的其余部分呢?

根据工作量的不同,有时更容易重写“不兼容”的部分。

答案 3 :(得分:0)

我建议尝试使用两个不错的Web服务堆栈。听到你的结果会非常有趣。这听起来反直觉,但即使他们有转换为文本的负担,这些堆栈也会进行优化。此外,如果适合您的情况,至少可以轻松地在C#中并行调用Web服务。

答案 4 :(得分:0)

还有商业解决方案允许从.NET调用Java(反之亦然)。我几年前使用JNBridge,而且很棒

您可以在http://www.jnbridge.com/bin/downloads.php?pr=1&id=0下载30天免费试用版(不,我不为他们工作)。

答案 5 :(得分:0)

我在java中做了一些分析,我收到的api的方法占用了我注意到的大部分时间。 如果我收到大约1200条记录,我有5分钟的等待时间。一旦我在c#中收到它,只需几秒钟就可以将它添加到对象中并向我显示结果视图。

所以我认为这个问题不是真的在我的最后,或者如果我使用像JNBridge或webservice这样的东西会更好吗?