내가 수 .. 가능 webOrb를 사용하여통화 자바 함수
그것이 가능할 수 WCF 또는 C# .NET에서 작성된 클래스 애플리케이션을 사용하여 자바로 작성된 함수를 호출 할 수있다 자바에 대한 충분한 정보를 .Net 원격으로 찾으십시오.
내가 수 .. 가능 webOrb를 사용하여통화 자바 함수
그것이 가능할 수 WCF 또는 C# .NET에서 작성된 클래스 애플리케이션을 사용하여 자바로 작성된 함수를 호출 할 수있다 자바에 대한 충분한 정보를 .Net 원격으로 찾으십시오.
C#과 Java 사이에서 통신하려면 몇 가지 옵션이 있습니다.
이것은 사용자가 C# 구성 요소와 Java 구성 요소의 소스 코드에 액세스 할 수 있다고 가정합니다. Java 내에서 메서드를 호출하려는 경우 C# 클라이언트에서 Java 서비스로 연결할 수있는 서비스를 작성한 다음 서비스에서 원하는 기능을 실행하고 C# 클라이언트에 값을 반환합니다. . 이를 수행하는 쉬운 방법은 RESTful service을 작성하거나 Thrift을 사용하는 것입니다. 이 솔루션과 비슷한 솔루션을 선택하는 것이 좋습니다.
Corba 다른 컴퓨터 언어 사이에 통신을 정의하는 표준입니다. 대부분의 성숙한 언어는 그것을 지원하지만 조금 이상하고 그 사용이 서비스 구축에 찬성하여 거부되었습니다. 이것은 또한 두 소스 코드에 대한 액세스를 가정합니다. 자바와 C#에서 Corba를 사용하는 방법에 대한 정보를 독자적으로 찾아야합니다. 나는 이것을 에게 조언 할 것이다.
난 정말 당신이 정말로 선택의 여지가없는 경우를 제외하고 당신이이 방법을 수행하지 않는 것이 좋습니다. 이렇게하면 C#에서 Java 프로그램을 실행해야합니다. 이것은 다른 옵션이없는 경우에만 좋은 선택입니다. 실행 파일 만 있으면되기 때문입니다. 이 경우 Process 클래스를 사용하여 외부 프로그램을 실행하고 매개 변수를 전송 한 다음 출력을 읽을 수 있습니다. 여기에 언급 된 예제를 참조하십시오. How do I start a process from C#?
모든 예외적 인 원인을 생각하고 해당 사례에 대한 출력을 결정한 다음 해당 출력을 구문 분석하는 방법을 결정해야하기 때문에 많은 단점이 있습니다. 프로그램의 복잡성이 어느 정도인지 알기도 전에 코드를 유지하기가 어려울 것입니다.
아마도 가장 좋은 방법 일 것입니다. C# 클라이언트가 호출 할 수있는 API를 제공하는 서비스를 작성하십시오.
[This (http://stackoverflow.com/questions/2591935/call-any-java-method-from-c-sharp)가 도움이 될 수 있습니다. – fge