NEventStore с RavenDB во встроенном режиме
Я пытаюсь заставить NEventStore (v4) работать с RavenDB во встроенном режиме.
Моя строка подключения выглядит так:
<add name="EventStore" connectionString="DataDir = ~\Data" />
В Application_Start я настроил Raven Store следующим образом:
var documentStore = new EmbeddableDocumentStore
{
ConnectionStringName = "EventStore"
};
documentStore.Initialize();
Это выполняется до инициализации любого кода хранилища событий. На этом этапе я могу использовать Raven для сохранения документов. Итак, Ворон работает.
Для NEventStore init выглядит так:
_store = Wireup.Init()
.LogToOutputWindow()
.UsingRavenPersistence("EventStore")
.InitializeStorageEngine()
.UsingJsonSerialization()
.Compress()
.UsingSynchronousDispatchScheduler()
.DispatchTo(new DelegateMessageDispatcher(DispatchCommit))
.Build();
Когда это работает, я получаю эту ошибку:
Имя строки подключения: "EventStore" не удалось проанализировать, неизвестный параметр: "datadir"
При просмотре исходного кода (RavenDB) выясняется, что анализатор строки соединения не знает, что он читает встроенную строку соединения. Но я не вижу никакого способа указать, что NEventStore должен использовать Raven во встроенном режиме.
1 ответ
Опция "DataDir" работает только с EmbeddableDocumentStore. NEventstore создает DocumentStore. Насколько я знаю, вы не можете изменить это поведение.
Что вы можете сделать, это запустить Embedded RavenDB с включенным HTTP и подключиться к localhost.