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.

Другие вопросы по тегам