나는 nhibernate 사가 끈기를 사용하지 않으므로 NHibernateMessageModule이 필요하지 않습니다.NServiceBus에서 NHibernateMessageModule이 호출되지 않도록 제거하는 방법은 무엇입니까?
그럼 어떻게 제거합니까?
나는 nhibernate 사가 끈기를 사용하지 않으므로 NHibernateMessageModule이 필요하지 않습니다.NServiceBus에서 NHibernateMessageModule이 호출되지 않도록 제거하는 방법은 무엇입니까?
그럼 어떻게 제거합니까?
버스를 시작하기 전에 컨테이너에서 모듈을 제거해야합니다. 이후에 모듈이 캐시되기 때문입니다. .CreateBus() 전에 .RunCustomAction()을 호출하여이 작업을 수행 할 수 있습니다. 시작()하고 코드를 포함시킵니다.
내부적 CastleWindsorBuilder이 수행합니다.
하여 구성 요소 (GetAllServiceTypesFor (concreteComponent)) ImplementedBy (concreteComponent);
IMessageModule을 의미하는 등록 된 모든 인터페이스에 대한 구성 요소를 제거해야 할 수도 있습니다.
지금까지 이걸 가지고 있습니다.
참고 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();
을했다지만 작동합니다.
나는 더 좋은 방법이 있기를 바라고 있습니다.
실제로 작동하지 않습니다. ( NHibernateMessageModule이 여전히 호출됩니다. –