¿Cómo llamar código Java desde C #?

Desarrollamos una aplicación Java y nos gustaría utilizar esta aplicación desde un cliente C #. La aplicación tiene dependencias en Spring, Log4j, …

¿Cuál sería el mecanismo más eficiente? ¿Hacer DLL (s) desde código Java, … – para lograr esto?

IKVM!

Es realmente asombroso El único problema es que agrega ~ 30MB al proyecto. log4net y Spring .NET también están disponibles, pero si viven con el código existente, vaya a la ruta ikvm.

Soy autor de jni4net , puente de interproceso de código abierto entre JVM y CLR. Se basa en JNI y PInvoke. No se necesita código C / C ++. Espero que te ayude.

alternativamente, podría escribir una capa webservice / xmlrpc entre los dos.

Me parece recordar que hay una herramienta calles grassshopper que comstackrá su código .Net en el bytecode de JVM.

También escuché cosas buenas sobre IKVM

Aquí hay algunos enlaces que pueden ayudar:

http://www.devx.com/interop/Article/19945/1954
http://www.ezjcom.com/?gclid=CJflqrms9ZUCFRqH1QodPSb_hA

Mainsoft hace un comstackdor cruzado .NET -> JVM, pero es posible que no desee recomstackr la aplicación .NET:

http://dev.mainsoft.com/Default.aspx?tabid=130

Hay tantas opciones,

  1. tomas de stream

  2. servicios web

  3. Bus de mensajes

  4. Use una / cualquier base de datos! (lo siento si suena tonto)

Aquí hay una discusión que puede ser útil: https://gridwizard.wordpress.com/2015/01/14/java-and-dotnet-interop

Realmente depende de lo que estás construyendo!