문제

나는 Masters Capstone 코스를 일찍 수강하고 C#에서 내 프로젝트를하고있는 동안 다른 모든 사람들이 Java에서 자신의 프로젝트를 수행하고 있습니다. 이 프로젝트에는 4 개의 서비스가 있으며 서비스 이름을 소켓에 매핑하는 이름 서버가 필요합니다. 강사는 학생들이 RMI를 사용 하여이 레지스트리를 구축 할 것을 제안합니다. 나는 Java에 익숙하지 않고 강사는 .NET에 익숙하지 않기 때문에 C#에서 동등한 것을 생각해 낼 수 없었습니다. 하나를 알고있는 사람이 있습니까?

업데이트:

소켓을 명시 적으로 알지 못하고 WCF 서비스를 발견 할 수있는 방법을 찾고 있습니다.

Update 2:

vs 2008/webdev 서버를 사용하여 XP 랩탑에서 프로젝트를 시연 할 것입니다.

도움이 되었습니까?

해결책

Java의 RMI Registery는 키로 서비스를 조회 할 수있는 컨테이너로 작동합니다. 이 메커니즘은 종속성 분사 엔진을 사용하는 Servicelocator (예 : Servicelocator Pattern)를 통해 서비스/객체를 해결하고 서비스 인스턴스를 해결하도록 요청합니다 (즉, 알려진 이름, 인터페이스 등).

IMyService service = ServiceLocator.Resolve<IMyService>();

또는

IMyService service = (IMyService)ServiceLocator.Resolve(typeof(IMyservice));

WCF는 단일 서비스 대 단일 서비스 호스트 패션에서만 작동하므로 각 단일 서비스에는 별도의 서비스 호스트가 필요합니다. 서비스 호스트를 집계하고 포트를 열고 DI 컨테이너에 등록하는 서비스 컨테이너를 작성하고 나중에 위에서 언급 한대로 서비스 인스턴스를 요청할 수 있습니다.

다른 팁

Windows Server 2K3/8과 함께 제공되는 UDDI 서버를 사용할 수 있습니다. 이것은 당신에게 당신의 서비스를 발견하게 할 것입니다. 그 외에는 제 3 자 패키지가 필요하거나 직접 굴립니다.

나는 Java 원격에 대한 전문가가 아닙니다.

WCF 용어 서비스 엔드 포인트에서 찾는 것이 호출된다고 생각합니다. 이것은 a에서 수행 할 수 있습니다 구성 파일 또는 비아 암호 .

WCF에 대한 개요는이 링크를 참조합니다.Windows Communication Foundation 아키텍처

에 대해 읽다 TCP 포트 공유, Windows Server 2008의 새로운 기술은 도움이 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top