В 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.
Спасибо. Я взглянул на аналогичный пример Андреаса Олунда ранее. Оба примера используют только один DocumentStore, правильно? Таким образом, данные userdata и NSB используют один и тот же хранилище данных. Я пытаюсь использовать два разных магазина ... И btw, u'r sample не компилируется: Тип «StructureMap.IContainer» определен в сборке, на которую не ссылаются. Вы должны добавить ссылку на сборку «StructureMap, Version = 2.6.4.0, Culture = neutral, PublicKeyToken = e60ad81abae3c223». Я обновил структуру структуры до последней версии NuGet, не повезло – Trygve
Позвольте мне получить образец, обновленный, чтобы отразить ваш прецедент, и вместо этого использовать autofac. –
Iv'e добавил [V5 с autofac образца] (https://github.com/sfarmar/Samples/tree/master/DIUnitOfWorkV5Autofac), дайте мне знать, если эта работа для вас ... –