2011-01-31 3 views
0

에 대한 메시지 소유자를 찾을 수 없습니다. 메시지를 게시하고 구독 할 수있는 서비스가 있습니다.Rhino.Esb "

<configSections> 
<section name="castle" type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler, Castle.Windsor" /> 
</configSections> 
<castle> 
<facilities> 
<facility id="rhino.esb"> 
<bus 
        threadCount="1" 
        numberOfRetries="5" 
        endpoint="rhino.queues://localhost:50001/SonaTribeESB_Backend" 
        name="backend"/> 
<messages /> 
</facility> 
</facilities> 

및 사용 해고 :

QueueUtil.PrepareQueue("backend"); 
_container = new WindsorContainer().AddFacility<WcfFacility>().Install(Configuration.FromAppConfig()); 
_container.Register(Component.For<IWindsorContainer>().Instance(_container)); 
Console.WriteLine("Backend: Starting to listen for incoming messages ..."); 
var host = new DefaultHost(); 
host.Start<BackendBootStrapper>(); 
Console.ReadLine(); 

내가 다음 ESB 설정을 가지고있는 WCF 서비스가

나는 다음과 같은 구성이 백엔드 버스 콘솔 응용 프로그램을 가지고 :

<facilities> 
<facility id="rhino.esb" > 
<bus 
        threadCount="1" 
        numberOfRetries="5" 
        endpoint="rhino.queues://localhost:50002/SonaTribeESB_AccountClient" 
        name ="AccountClient"/> 
<messages> 
<add 
         name="Messages" 
         endpoint="rhino.queues://localhost:50001/SonaTribeESB_Backend" /> 
</messages> 
</facility> 
</facilities> 

그리고 상기의 Global.asax에 다음

다음
Container.Install(Configuration.FromAppConfig()); 
Container.Kernel.AddFacility("rhino.esb", new RhinoServiceBusFacility()); 
var bus = Container.Resolve<IStartableServiceBus>(); 
bus.Start(); 

그리고다음과 같은 설정으로 두 번째 서비스 :

<facilities> 
<facility id="rhino.esb" > 
<bus 
        threadCount="1" 
        numberOfRetries="5" 
        endpoint="rhino.queues://localhost:50003/SonaTribeESB_EventClient" 
        name ="EventClient"/> 
<messages> 
<add 
         name="Messages" 
         endpoint="rhino.queues://localhost:50001/SonaTribeESB_Backend" /> 
</messages> 
</facility> 
</facilities> 

하지만이를 사용하여 버스에 메시지를 보내려고 할 때마다 :

_serviceBus.Send(new Esb.Messages.Account.EventAttendanceToggleMessage 
           { 
            AccountProxy = eventAttendanceRequest.Account, 
            EventProxy = eventAttendanceRequest.EventInstance, 
            Attending = attending 
           }); 

나는 다음과 같은 오류가 발생합니다 :

SonaTribe.Esb.Messages.Account.EventAttendanceToggleMessage의 메시지 소유자를 찾을 수 없습니다.

누구나 내가 뭘 잘못하고 있는지 알 수 있습니까?

답변

0

이 문제는 실제로 잘못된 라이프 스타일이 IoC 컨테이너의 RavenDb DocumentStore에 적용되는 것과 관련이있었습니다. 결정된.