2014-11-07 2 views
0

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

  // 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); 

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

ответ

1

Это sample for 4.x using unit of work, Если вы используете

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

The Init является here Look here for the usage

это поможет?

+0

Спасибо. Я взглянул на аналогичный пример Андреаса Олунда ранее. Оба примера используют только один DocumentStore, правильно? Таким образом, данные userdata и NSB используют один и тот же хранилище данных. Я пытаюсь использовать два разных магазина ... И btw, u'r sample не компилируется: Тип «StructureMap.IContainer» определен в сборке, на которую не ссылаются. Вы должны добавить ссылку на сборку «StructureMap, Version = 2.6.4.0, Culture = neutral, PublicKeyToken = e60ad81abae3c223». Я обновил структуру структуры до последней версии NuGet, не повезло – Trygve

+0

Позвольте мне получить образец, обновленный, чтобы отразить ваш прецедент, и вместо этого использовать autofac. –

+2

Iv'e добавил [V5 с autofac образца] (https://github.com/sfarmar/Samples/tree/master/DIUnitOfWorkV5Autofac), дайте мне знать, если эта работа для вас ... –

Смежные вопросы