Как настроить NServiceBus с двумя RavenDB IDocumentStores?

В NSB 5 как правильно настроить NSB с контейнером autofac с одним IDocumentStore для данных NSB и отдельным IDocumentStore для данных приложения? Я вставил соответствующую часть EndpointConfig ниже:

            // Raven DataStore for Freight system
        var appDataStore = new DocumentStore { 
            ConnectionStringName = "RavenDB",
            DefaultDatabase = "ApplicationData"
        };
        appDataStore .Initialize();

        // Raven DataStore for NServiceBus
        var nsbDataStore = new DocumentStore
        {
            ConnectionStringName = "NServiceBus.Persistence",
            DefaultDatabase = "BookingProcessing"
        };
        nsbDataStore.Initialize();

        // Set up and build AutoFac container
        var builder = new ContainerBuilder();
        builder.RegisterInstance<DocumentStore>(appDataStore ).As<IDocumentStore>().SingleInstance();
        var container = builder.Build();

        // Set up NServiceBus
        configuration.UseContainer<AutofacBuilder>(customizations => customizations.ExistingLifetimeScope(container));
        configuration.UsePersistence<RavenDBPersistence>().SetDefaultDocumentStore(nsbDataStore);

Я знаю, что это не работает, так как у меня были проблемы с хранением саг по другому вопросу. SagaPersister попытался сохранить сагу в appDataStore, но сообщения о тайм-ауте были сохранены в nsbDataStore.

2 ответа

Решение

Это образец для 4.x с использованием единицы работы, если вы используете

Посмотрите здесь, чтобы увидеть, как вы можете реализовать IManageUnitsOfWork

Инициатива здесь Посмотрите здесь для использования

это поможет?

Эта проблема теперь исправлена ​​в NServiceBus.RavenDB v2.0.1

Другие вопросы по тегам