2008-09-08 156 views
30

有沒有人有一個很好的解決方案,將一些C#代碼集成到Java應用程序中?從Java調用C#代碼?

代碼很小,所以我可以用java重寫,但如果可能的話,我寧願重複使用代碼。不要重複自己,等等。

此外,我知道我可以公開C#作爲一個Web服務或任何,但它有一些安全/加密的東西在那裏,所以我寧願保持緊密集成,如果可能的話。


編輯:它將在一個基於服務器的應用程序,所以「下載」另一個運行時是無關緊要的。

+0

如果它的Server Based,平臺是什麼?我不知道COM互操作與Mono有什麼關係,所以這是另一個需要考慮的因素。 – FlySwat 2008-09-08 19:10:51

回答

4

有一個IL到Java字節碼編譯GrassHopper這可能是你有幫助。我從來沒有嘗試過。

我想看看重寫你的代碼在Java中,雖然

編輯:請注意,蟈蟈似乎不再可用。

+0

草鬥鏈接被破壞。 – 2016-12-28 22:46:45

+0

可能不再可用 – 2016-12-29 11:00:41

7

如果它很短,我認爲你最好用java重寫代碼。下載一個50Mb的運行時間已經夠糟糕的了。

0

我會重寫它,如果它不是太麻煩。 Web服務可以正常工作,但似乎只是重用一小段代碼會帶來很多開銷。

3

我們使用JNBridge此,它運作得很好。它處理Java - >。NET,反之亦然,所有進程。

+1

是的,這是一個商業產品。 – Barton 2014-10-29 23:58:32

16

我是jni4net的作者,是JVM和CLR之間的開源內部網橋。它建立在JNI和PInvoke之上。沒有C/C++代碼需要。我希望它能幫助你。

0

如果它是一段可作爲命令行實用程序暴露的代碼,我只是讓其他主機語言使用系統調用來執行該實用程序。

如果您的C#應用​​程序需要調用Java,請編譯一個特殊的Java主程序,它將採用適當的命令行參數並返回文本輸出。

它是最古老,最簡單的方法。