我正在實習一個公司的軟件開發人員。有一個用C#編寫的客戶端安裝的軟件程序,它具有VB中的dll - 都在.NET框架中。我們整個的基於雲的服務器現在用Java編寫的,所以,我的任務很簡單,就是調用Java中得到一個函數/套專用(?抱歉,不是真正熟悉VB,所以我可能會使用這個詞不恰當)位於dll內的變量。但最終,我的任務是從客戶端程序收集數據並將其放入我們的服務器。我一直在研究如何去這樣做,在過去幾天,已經找到了幾個選項:從Java調用VB.NET函數的最佳方式是什麼?
- Java本機訪問(JNA)
- Java本地接口(JNI)
- 的COM/ActiveX橋(雖然我不能完全肯定地說,我知道這些是什麼/如何使用them_
- JNBridge的
現在,據我所知,這是我和每個發現的問題,分別爲:
- 使用此選項需要使用C或C++從Java到.NET的中介,並且考慮到我只真正瞭解Java,所以我不想在這個混亂中糾結。
- 似乎比JNA更復雜一點點位,我認爲它比JNA沒有真正的優勢反正。他們似乎都需要C/C++中介。
- ...真的不能從實際上說太多一邊,我真的不知道我該怎麼去實現這個方法。
- 這與其他同類橋樑必須是最後的手段。該產品的開發人員許可證價格昂貴,我確定他們沒有資源使用此產品。我可以試着問,但我並不認爲這是一個實習生的地方,要求公司投資這麼多。
爲了補充一點,我並不是真的很擅長編程,所以我一直主要是自己做這件事,所以非常感謝您閱讀我的問題。如果有什麼我沒有完全解釋,需要進一步解釋,請讓我知道!任何其他技巧/指針將非常感激。
這個DLL應該直接使用還是可以創建一箇中間件應用程序,如.Net WCF應用程序將提供的服務使用DLL中的方法? –
@LuiggiMendoza - 我認爲它必須直接從客戶端到服務器(如果這就是你要求的)。如果您個人認爲中間件應用程序可以讓事情變得更容易,那麼也肯定不會有任何問題。 –
這可能是一個解決方案,但AFAIK的決定批准將取決於您的上級。您可以提出這個想法或接收您必須使用JNA或JNI進行交互的命令。 –