Aufruf von C# - code aus Java?
Hat jemand eine gute Lösung für die Integration von C# - code in eine java-Anwendung?
Den code klein ist, so konnte ich wieder schreiben, in java, aber ich würde eher den code wiederverwenden, wenn möglich. Wiederhole dich nicht, etc.
Weiß ich auch, ich kann das aussetzen der C# - as-a-web-service oder was auch immer, aber es hat einige Sicherheit/Verschlüsselung Sachen drin, also ich würde lieber halten Sie es fest integriert, wenn möglich.
Edit: Es wird auf eine server-basierte Anwendung, so dass "Download" eine andere Laufzeit ist irrelevant.
Wenn Ihre Server-Basiert, was ist die Plattform? Ich habe keine Ahnung, wie gut Dinge wie COM-interop arbeiten mit Mono, das ist also ein weiterer Faktor zu berücksichtigen.
InformationsquelleAutor Keith G | 2008-09-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ein IL zu Java-Bytecode-compiler Heuschrecke, die möglicherweise von Interesse für Sie sein. Ich habe nie versucht, es aber.
Ich würde schauen, den code so umschreiben, in Java aber
EDIT: Beachten Sie, dass die Heuschrecke scheint nicht mehr verfügbar.
Wahrscheinlich nicht mehr verfügbar
InformationsquelleAutor Tom Carter
Verwenden Sie das Java Native Interface zum Aufruf der C# - code, kompiliert in einer DLL.
Wenn Ihr eine kleine Menge von C#, wäre es viel einfacher ist die Portierung zu Java. Wenn Ihr eine Menge, könnte dies ein guter Weg, es zu tun.
Hier ist ein High-Level überblick:
http://en.wikipedia.org/wiki/Java_Native_Interface
Ihre andere option wäre eine COM-assembly aus dem C# - code und J-Interop, um es aufzurufen.
http://sourceforge.net/projects/j-interop/
InformationsquelleAutor FlySwat
Ich bin Autor von jni4net, open-source-intraprocess Brücke zwischen JVM und CLR. Es ist bauen auf JNI und PInvoke. Keine C/C++ - code benötigt. Ich hoffe es wird Euch helfen.
InformationsquelleAutor Pavel Savara
Wenn es kurz, ich denke, du bist besser dran, neu zu schreiben den code in java. Download einer 50Mb runtime, ist schlimm genug.
InformationsquelleAutor Joel Coehoorn
Verwendeten wir JNBridge für diese, und es hat Super geklappt. Es behandelt Java->.NET und Umgekehrt, alle in-proc.
InformationsquelleAutor jodonnell
Wenn Sie nicht möchten, neu zu schreiben, es hadle als Inter-Prozess-Kommunikation und wählen Sie eine der folgenden:
InformationsquelleAutor Jakub Šturc
Ich würde das schreiben, wenn es nicht zu viel Mühe.
Der web-service arbeiten würde, aber wie es scheint, das wäre eine Menge Aufwand, nur um die Wiederverwendung ein wenig code.
InformationsquelleAutor ScArcher2
http://www.infoq.com/articles/in-process-java-net-integration schlägt vor, ausgeführt von CLR und JVM in dem gleichen Prozess Raum und übergeben von anrufen hin und her. Es klingt sehr effizient. Ich werde versuchen Sie es und integrieren es in Jace, wenn es gut funktioniert.
InformationsquelleAutor Gili
Wenn es ist ein Stück code, das ist exposable als ein Befehlszeilen-Dienstprogramm, ich mache nur die anderen host-Sprache verwenden Sie einen system-Aufruf ausführen des Dienstprogramms.
Wenn Ihr C# - app muss zum aufrufen von Java-kompilieren Sie eine spezielle Java-main, nimmt die entsprechende Befehlszeile Argumente und gibt text-Ausgabe.
Es die älteste, einfachste Methode.
InformationsquelleAutor codenheim
Rufen Sie Ihre c# - Klassen (kompiliert in einer dll) über eine überbrückung Bibliothek, verschiedene Bibliotheken zur Verfügung stehen, jeder mit seinen Eigenschaften. JNBridge die Generierung von proxy-Klassen, die Sie anrufen können, um zu verwalten, die code in java-Klassen. JCOBridge lassen, laden Sie Ihre c# - Klassen und verwenden von java mit der invoke-Mechanismus, auch javonet lassen Sie den import von java-Klassen und Aufruf von java-code mithilfe der invoke-Mechanismus.
Alle die erforschten Lösungen sind kommerzielle Lösungen, lassen Sie Sie aufrufen, java-code aus .NET und Umgekehrt graphical user interface integration und andere Annehmlichkeiten.
Links:
jnbridge java-.NET bridge-Entwickler-und Deployment-Lizenz-schema mit 30-Tage-Testversion
jcobridge java-.NET bridge-Entwickler-und Deployment-Lizenz-schema mit unbegrenzten Trial
javonet java-.NET Brücke Forschung-und Professional-Lizenz-schema mit der 30-Tage uneingeschränkte Testversion nach dem sign-up
InformationsquelleAutor Starblazer2078