在嵌入式模式下使用RavenDB的NEventStore

时间:2014-04-27 16:57:15

标签: c# ravendb neventstore

我试图让NEventStore(v4)在嵌入模式下使用RavenDB。

我的连接字符串如下所示:

<add name="EventStore" connectionString="DataDir = ~\Data" />

在Application_Start中,我像这样设置了Raven Store:

var documentStore = new EmbeddableDocumentStore
{
    ConnectionStringName = "EventStore"
};
documentStore.Initialize();

在任何事件存储代码初始化之前运行。此时我可以使用Raven保存文档。所以Raven正在努力。

对于NEventStore,init看起来像这样:

_store = Wireup.Init()
    .LogToOutputWindow()
    .UsingRavenPersistence("EventStore") 
    .InitializeStorageEngine()
    .UsingJsonSerialization()
    .Compress()
    .UsingSynchronousDispatchScheduler()
    .DispatchTo(new DelegateMessageDispatcher(DispatchCommit))
    .Build();

运行时,我收到此错误:

  

连接字符串名称:'EventStore'无法解析,未知   选项:'datadir'

在查看(RavenDB)源代码时,似乎连接字符串解析器不知道它正在读取嵌入的连接字符串。但我没有看到任何表明NEventStore在嵌入模式下使用Raven的方法。

1 个答案:

答案 0 :(得分:0)

选项'DataDir'仅适用于EmbeddableDocumentStore。 NEventstore creates一个DocumentStore。据我所知,你无法改变这种行为。

您可以做的是使用HTTP enabled启动Embedded RavenDB并连接到localhost。