2009-04-01 5 views
1

저는 초기에 마스터스 캡스턴 과정을 수강하고 있고 C#에서 프로젝트를하고 있지만 다른 모든 사람들은 자바로 프로젝트를 수행하고 있습니다. 프로젝트에는 4 개의 서비스가 있으며 서비스 이름을 소켓에 매핑하는 네임 서버가 필요합니다. 강사는 학생들이 RMI를 사용하여이 레지스트리를 구축 할 것을 제안합니다. Java에 익숙하지 않고 강사가 .NET에 익숙하지 않기 때문에 C#에서 이에 상응하는 기능을 찾을 수 없었습니다. 아무도 거기 알고 있니?서비스 호스트 해결 - C# RMI 레지스트리와 동일합니까?

업데이트 : 명시 적으로 소켓을 모른 채 WCF 서비스를 발견 할 수있는 방법을 찾고 있어요

.

업데이트 2 :

내가 VS 2008/경우 Webdev 서버를 사용하여 내 XP의 노트북에 프로젝트를 시연한다.

답변

1

RMI 등록 소를하는 데 도움이 수는 컨테이너 곳으로 작동 당신은 키로 서비스를 검색 할 수 있습니다. 이 메커니즘은 의존성 주입 엔진을 사용하는 ServiceLocator (예 : ServiceLocator 패턴)를 통해 서비스/객체를 분석하고 서비스의 인스턴스 (예 : 알려진 이름, 인터페이스 등)를 확인하는 것과 유사합니다.

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

또는

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

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

2

Windows Server 2K3/8과 함께 제공되는 UDDI 서버를 사용할 수 있습니다. 그러면 서비스를 찾을 수 있습니다. 그것 이외에 당신은 제 3 자 패키지가 필요하거나 자신의 롤.

+0

나는 VS 2008/WebDev 서버를 사용하는 XP 랩탑에서 발표 할 예정이므로 UDDI를 사용하는 옵션이 될 것이라고 생각하지 마십시오. 하드 드라이브를 설정하지 않고 내 자신을 굴리는 방법을 모르겠다. 이름 서버에있는 변수를 읽는다. (10 %는 고정 될 것이다.) 그것을하는 방법에 대한 조언? – Aaron

+0

가상 OS에 설치할 수 있습니다. – abatishchev

1

저는 Java Remoting에 대한 전문가입니다.

당신이 찾고있는 것이 WCF 용어 인 Service Endpoint에서 호출된다고 생각합니다. 이 작업은 config file 또는 code을 통해 수행 할 수 있습니다. 나는이 링크를 참조합니다 WCF에 대한 개요를

: Windows Communication Foundation Architecture