【发布时间】:2014-11-07 10:18:57
【问题描述】:
在 NSB 5 中,如何使用 autofac 容器正确配置 NSB,其中一个 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);
我知道这不起作用,因为我在 another question 中存储 sagas 时遇到问题。 SagaPersister 试图在 appDataStore 中持久化 saga,但超时消息被持久化在 nsbDataStore 中。
【问题讨论】:
标签: nservicebus nservicebus-sagas