1

Ninject ビルダーで NServiceBus 4.0.3 を使用していますが、メッセージ ミューテーター ( IMutateTransportMessages) を登録する方法がわかりません。

mutator を 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());
}
4

1 に答える 1

2

通常の NServiceBus コンテナー API ではなく、ミューテーターを Ninject に直接登録する特別な理由はありますか?

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

つまり、これは構成済みのコンテナーを内部的に呼び出すだけで、あなたの場合は Ninject になります。

于 2013-10-03T18:11:32.640 に答える