C # - взаимодействие Java - PullRequest
3 голосов
/ 10 октября 2008

Можете ли вы дать мне несколько советов по обеспечению взаимодействия кода C # и Java? Давайте определим взаимодействие как нечто простое: разрешить (из кода Java) экземпляр и вызов метода для класса, определенного в C #, и, возможно, и наоборот.

Это вообще возможно изначально ? (т.е. без какого-либо механизма интерфейса прокси / скелет)

И, наконец, какие прокси-механизмы можно использовать? (т.е. поддерживаются обеими языковыми областями)

Ответы [ 6 ]

6 голосов
/ 10 октября 2008

Я использовал IKVM , чтобы выполнить это успешно.

1 голос
/ 31 октября 2009

Я являюсь автором jni4net , межпроцессного моста с открытым исходным кодом между JVM и CLR. Он построен на основе JNI и PInvoke. Код C / C ++ не требуется. Я надеюсь, что это поможет вам.

1 голос
/ 10 октября 2008

Не знаю, что нужно делать на стороне .NET (я не парень .NET), но Java предоставляет инфраструктуру JNI для взаимодействия с нативными библиотеками.

Начните с Википедии , затем перейдите по ссылкам ...

1 голос
/ 10 октября 2008

Я нашел очень многообещающую статью о CodeProject здесь .

Выдержка из введения в статью:

Предлагаемое решение покажет, как две структуры могут жить вместе в том же процессе и общаться бесшовно друг с другом.

Эта статья описывает высокопроизводительная совместимость решение между платформой Java и .NET Framework. Предлагаемый Решение не заменяет Java Виртуальная машина или .NET Framework вместо этого, ваша JVM или .NET каждый размещен в противостоянии среда выполнения, гарантирующая, что Оптимизация VM для конкретного поставщика сохраняется.

0 голосов
/ 10 октября 2008
0 голосов
/ 10 октября 2008

Существует несколько сторонних продуктов, которые могут напрямую взаимодействовать с .NET-Java. J-Integra - это тот, с кем я больше всего знаком (я не работаю на них и не имею к ним никакого экономического интереса).

Если вы в порядке с прокси и т. П., У вас есть несколько вариантов, таких как SOAP / Web Services или CORBA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...