Я использую NServiceBus 4.0.3 с конструктором Ninject и не могу понять, как регистрировать мутаторы сообщений (IMutateTransportMessages
).Как регистрировать мутаторы сообщений в веб-приложении
Я зарегистрировал мутатор с Ninject Kernel, но он никогда не вызывается. Ниже, как я настройка NServiceBus:
private static IBus ConfigureBus(IKernel kernel)
{
kernel.Bind<IMutateTransportMessages>().To<SendTenantIdMutator>();
return NServiceBus.Configure.With()
.NinjectBuilder(kernel)
.XmlSerializer()
.MsmqTransport()
.IsTransactional(false)
.PurgeOnStartup(true)
.UnicastBus()
.LoadMessageHandlers()
.CreateBus()
.Start(() => Configure.Instance.ForInstallationOn<Windows>().Install());
}
Есть ли какая-то особая причина для регистрации мутатора напрямую с помощью Ninject в отличие от обычного API контейнера NServiceBus: Configure.Instance.Configurer.ConfigureComponent (DependencyLifecycle.SingleInstance); –
Не могли бы вы рассказать мне версию NSB, которую вы используете? Там, где некоторые внутренние изменения в последней версии, которые мешают контейнеру. Это помогает мне дать достойный ответ. –
@UdiDahan API контейнера по-прежнему использует Ninject внутри? –