1

我将 NServiceBus 4.0.3 与 Ninject 构建器一起使用,但无法弄清楚如何注册消息修改器 ( IMutateTransportMessages)。

我已经用 Ninject Kernel 注册了 mutator,但它从未被调用过。下面是我如何配置 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());
}
4

1 回答 1

2

与常规的 NServiceBus 容器 API 相比,是否有一些特殊的原因直接向 Ninject 注册 mutator:

Configure.Component<SendTenantIdMutator>(Dependency‌​Lifecycle.SingleInstance);

我的意思是,这只是在内部调用配置的容器,在您的情况下是 Ninject。

于 2013-10-03T18:11:32.640 回答