2011-10-26 3 views
0

내가 두 호스트가 - A와 B 내가 호스트 A에 서비스 버스를 구성하는 코드 다음을 사용코뿔소 서비스 버스 프로그램 구성

host.BusConfiguration(c => c.Threads(1).Retries(1) 
     .Bus(endpointA.AbsoluteUri, "name", true) 
     .Receive(typeof(MyMessage).Namespace, hostB.Endpoint.AbsoluteUri, true) 

ndpointA.AbsoluteUri 주소를 이메일을 수신 버스를 만들 수있는 호스트를 구성하고 [typeof(MyMessage).Namespace] 네임 스페이스의 메시지를 hostB.Endpoint.AbsoluteUri에있는 큐에 씁니다. 맞습니까? 호스트 B의 버스를 구성 할 때 동일한 코드를 사용합니다 (hostA가있는 hostB를 사용).

두 개의 호스트가 상호간에 메시지를 송수신하도록 구성 할 수 없습니다. 그들 중 오직 한 명 (A)만이 B가 수신 한 메시지를 보낼 수 있습니다. B가 메시지를 보내면 메시지는 대기열에 넣어지고 A가 소비하지 않습니다. 이유가 무엇일까요?

답변

1

무슨 일이 일어나고 있는지 볼 수있는 가장 쉬운 방법은 레벨 DEBUG에 log4net에 대한 로깅을 설정하고 출력이 호스트 A에 대한

+0

덕분에 많은 무엇을 보는 것입니다! 당신은 간단한 조언을 통해 srhino 서비스 버스 처리 파이프 라인을 조사하고 오류를 발견 할 수있었습니다 (소비자 제약사의 사소한 오류) – Gopher