NSB 5 で、NSB データ用の 1 つの IDocumentStore とアプリケーション データ用の別の IDocumentStore を持つ autofac コンテナーで NSB を正しく構成するにはどうすればよいですか? 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 で saga を永続化しようとしましたが、タイムアウト メッセージは nsbDataStore で永続化されました。