2010-06-09 2 views

답변

0

버스를 시작하기 전에 컨테이너에서 모듈을 제거해야합니다. 이후에 모듈이 캐시되기 때문입니다. .CreateBus() 전에 .RunCustomAction()을 호출하여이 작업을 수행 할 수 있습니다. 시작()하고 코드를 포함시킵니다.

내부적 CastleWindsorBuilder이 수행합니다.

하여 구성 요소 (GetAllServiceTypesFor (concreteComponent)) ImplementedBy (concreteComponent);

IMessageModule을 의미하는 등록 된 모든 인터페이스에 대한 구성 요소를 제거해야 할 수도 있습니다.

0

지금까지 이걸 가지고 있습니다.

참고 Castle Windsor를 컨테이너로 사용하고 있습니다. NServiceBus 후

내가

container.Kernel.RemoveComponent("NServiceBus.SagaPersisters.NHibernate.NHibernateMessageModule"); 

아니 가장 우아한 접근 성 윈저에서 구성 요소를 제거 구성

var container = new WindsorContainer(); 
NServiceBus.Configure.With() 
    .CastleWindsorBuilder(container) 
    .XmlSerializer() 
    .MsmqTransport() 
     .IsTransactional(false) 
     .PurgeOnStartup(false) 
    .UnicastBus() 
     .ImpersonateSender(false) 
     .LoadMessageHandlers(); 

을했다지만 작동합니다.

나는 더 좋은 방법이 있기를 바라고 있습니다.

+0

실제로 작동하지 않습니다. ( NHibernateMessageModule이 여전히 호출됩니다. –

관련 문제