1

试图将JOliver 的 EventStoreRavenDB 连接起来,但遇到了麻烦。我在 Raven 中创建了一个名为 RavenEventStore 的新数据库。

以下是我的接线图;

return Wireup.Init()
           .UsingRavenPersistence("RavenEventStore")
             .UsingAsynchronousDispatchScheduler()
                .DispatchTo(new DelegateMessageDispatcher(DispatchCommit))
           .Build();

当调用 Wireup.Init() 时,此异常发生在 RavenDb 端;

网址:“/indexes/RavenCommitByDate”Newtonsoft.Json.JsonReaderException:解析值时遇到意外字符:。第 1 行,位置 1。在 Newtonsoft.Json.JsonTextReader.ParseValue(Char currentChar) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs:Newtonsoft.Json.JsonTextReader.ReadInternal 的第 699 行() 在 d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs:line 499 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, Type t, JsonConverter propertyConverter) in d:\ Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType) 中的第 1072 行:

我也可以在 RavenDB 日志中看到异常;

Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: . Line 1, position 1.   at Newtonsoft.Json.JsonTextReader.ParseValue(Char currentChar) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs:line 699 at Newtonsoft.Json.JsonTextReader.ReadInternal() in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs:line 499 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, Type t, JsonConverter propertyConverter) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 1072 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType) in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs:line 118 at Raven.Database.Extensions.HttpExtensions.ReadJsonObject[T](IHttpContext context) in c:\Builds\raven\Raven.Database\Extensions\HttpExtensions.cs:line 57 at Raven.Database.Server.Responders.Index.Put(IHttpContext context, String index) in c:\Builds\raven\Raven.Database\Server\Responders\Index.cs:line 64 at Raven.Database.Server.Responders.Index.Respond(IHttpContext context) in c:\Builds\raven\Raven.Database\Server\Responders\Index.cs:line 49 at Raven.Database.Server.HttpServer.DispatchRequest(IHttpContext ctx) in c:\Builds\raven\Raven.Database\Server\HttpServer.cs:line 477 at Raven.Database.Server.HttpServer.HandleActualRequest(IHttpContext ctx) in c:\Builds\raven\Raven.Database\Server\HttpServer.cs:line 259

我试图通过删除 UsingAsynchronousDispatchScheduler() 方法来消除所有可能性,并引发相同的错误。我使用的代码严格来自此处的示例: https ://github.com/joliver/EventStore/blob/master/doc/EventStore.Example/MainProgram.cs

有没有人经历过这个?在谷歌上也找不到任何东西。

4

2 回答 2

5

Ryan,您正在使用旧服务器(888 之前)和新客户端(888 或更高版本)

于 2012-05-06T06:40:16.897 回答
0

您的问题可能与此类似: EventStore + RavenDB, not deserializing correct

此外,我肯定会建议使用针对 Raven 构建 888(或更高版本)的自定义构建,正如 Oren 所建议的那样,直到我可以针对更新版本的 Raven 发布新版本。

于 2012-05-07T15:45:35.163 回答