2009-03-30 3 views
3

Ich muss einige Daten aus Java in C# ziehen. Ich zeige bereits meine C# -Klassen über COM. Also ich dachte, eine gute Möglichkeit, Daten aus Java ziehen würde IReadStream aus C# und implementieren IReadStream in Java. Ich kann dann eine Instanz der Implementierung als Parameter an C# senden, so dass ich IReadStream.Read in C# aufrufen kann.Implementieren Sie eine benutzerdefinierte COM-Schnittstelle in Java

Wie implementiere ich eine benutzerdefinierte COM-Schnittstelle in Java?

+0

Möglicherweise müssen Sie JNI/JNA verwenden, um eine C++ - COM-Schnittstelle verfügbar zu machen, die von Ihrer C# -Klasse verwendet werden kann. –

Antwort

0

Ich ging am Ende für Named Pipes.

Auf der Java-Seite schreibe ich in eine Named Pipe (bedient von der C# -Seite). In C# sollte ich nun aus der Named Pipe lesen können. Solange der Lesevorgang blockiert wird, sollte er dem Ziehen von Daten aus Java entsprechen.

Siehe http://www.codeproject.com/KB/threads/dotnetnamedpipespart1.aspx für einen C# -Wrapper rund um die benannten Pipes API-Aufrufe.

0

Ich weiß nicht, ob es diese Richtung unterstützt, aber Jacob ist eine Java COM Bridge, die häufig erwähnt wird.

Auch die Verwendung von IKVM zum Ausführen des Java-Codes könnte die Aufgabe erheblich erleichtern.

+0

danke, ich weiß über jacob. glaube nicht, dass es unterstützt, was ich tun möchte – Ries

0

Mit COM klingt übermäßig chaotisch was falsch ist mit der Offenlegung Ihrer C# -Code über eine Steckdose und java haben, saugen Sie das nach unten.