2011-01-15 3 views
1

나는 무엇을하려고하는지, 환경/상황과 관련된 설명부터 시작하겠습니다.신뢰할 수있는 세션 및 콜백을 사용하는 WCF4 라우팅

저는 .NET 4를 사용하여 구현 한 기존 WCF 서비스 (Windows 서비스로 호스팅 됨)를 사용하고 있습니다.이 서비스는 클라이언트 응용 프로그램에 대한 콜백뿐만 아니라 net.tcp 및 안정적인 세션을 사용합니다 . WCF 서비스와 클라이언트 응용 프로그램은 동일한 네트워크 도메인 (Domain_A)에서 작동하며 제대로 작동합니다.

은 기존 : 내가 구현하려고 해요

(Client [Domain_A]:) ---[request]--> (WCF Svc [Domain_A]) 
(Client [Domain_A]:)<--[callback]--- (WCF Svc [Domain_A]) 

새로운 기능 (WCF 4를 통해) 라우팅 서비스의입니다. Domain_B에서 실행되는 Domain_A에서 실행되는 동일한 WCF 서비스 복사본이있을 것입니다. net.tcp 및 mex 끝점에 필요한 포트가 각 도메인의 두 컴퓨터 사이에서 열렸으며 반대 도메인에서 각 서비스의 메타 데이터에 액세스 할 수있었습니다.

내가 잘 모르는 부분은 서비스 요청을 라우팅하는 데 걸리는 경로 (구조적으로)입니다. 클라이언트가 요청한 특정 요청은 Domain_A의 서비스에서만 응답 할 수 있고 다른 요청은 Domain_B의 서비스에서만 응답 할 수 있습니다. 대상 서비스는 각 서비스 호출과 함게 (클라이언트로부터) 전달 된 매개 변수에 의해 결정되거나 결정될 수 있습니다. 또한 클라이언트 응용 프로그램은 Domain_A에서만 실행됩니다.

는 기능을 원하는 :

(Client [Domain_A]:) ---[request]-->(Routing Svc [Domain_A]) ---[request]-->((WCF Svc [Domain_A]) OR (WCF Svc [Domain_B])) 
(Client [Domain_A]:) <--[callback]--- (Routing Svc [Domain_A])<--[callback]--- ((WCF Svc [Domain_A]) OR (WCF Svc [Domain_B])) 

내 첫 qestion : 무엇까지 라우팅 (필터링 전략, 엔드 포인트/계약 유형 등) 간다 위의 "원하는 기능"을 구현하기위한 최적의 경로 것입니까? 저는 라우팅 서비스를 처음 사용하고 있으며 명확한/간결한 답변이나 예를 찾을 수 없었습니다.

두 번째 질문 : 필터링 질문 외에도 신뢰할 수있는 세션과 콜백을 사용하는 WCF4 라우팅 서비스를 예로들 수 있습니까? IDuplexSessionRouter에 대한 간단한 언급 이외에 많은 것을 찾지 못했습니다. IDuplexSessionRouter 끝점이 이동하는 방법 인 경우 콜백을 구현하는 예제를 찾을 수 없습니다.

도움이나 정보를 미리 보내 주셔서 감사합니다. 위의 내용을 명확히해야하는지 알려주세요.

답변

0

확인 동적이 라우팅이 마이크로 소프트 샘플 (WCF4WhatsNew.rar \ WCF4WhatsNew \ 03_DynamicRoutingRules에서이 SkyDrive link에서 찾을 수 있습니다, \).

샘플은 5 초마다 대체 서비스로 리디렉션됩니다. 샘플을 원하는 라우팅 알고리즘으로 변경하십시오.


P.S : 문제는 조금 tl;dr이다. 좀 더 구체적이고 중요한 부분을 강조하기 위해 text formatting을 사용하는 것이 좋습니다. 그렇지 않으면 더 많은 것을 받게됩니다 tumbleweeds.

관련 문제