raven 3.5客户端中的Json错误

问题描述 投票:1回答:1

[保存到Raven数据库时,通常会收到以下错误。客户端和数据库均为v3.5。到目前为止,解决方案是重新启动服务器,然后一切似乎都解决了。用户可以转到其他服务器,然后可以返回该站点并检索保存的内容。但是,当我们在服务器上看到这样的1个错误时,服务器开始报告其中的100个错误。我们无法在质量检查中复制此内容。因此,我倾向于加载,否则我们的Raven会话未正确关闭。

调用Raven OpenSessionAsync()作为创建类的要点

IAsyncDocumentSession

public async Task<bool> SaveChangesAsync()
{
using (_session)
{
await _session.SaveChangesAsync();
}

return true;
}

这是我们代码中在保存时开始出现错误的区域,我们还应该做更多的事情吗?

消息:状态为Property的令牌PropertyName将导致无效的JSON对象。路径“。Raven.Imports.Newtonsoft.Json.JsonWriter.AutoComplete(JsonToken tokenBeingWritten)在C:\ Builds \ RavenDB-Stable-3.5 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonWriter.cs:779C:\ Builds \ RavenDB-Stable-3.5 \ Raven.Abstractions \ Json \ Linq \ RavenJTokenWriter.cs:51中的Raven.Json.Linq.RavenJTokenWriter.WritePropertyName(String name)Raven导入Newtonsoft.Json序列化。 Src \ Newtonsoft.Json \ Serialization \ JsonSerializerInternalWriter.cs:428Raven导入Newtonsoft.Json序列化。 .cs:101Raven.Imports.Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter,对象值,类型objectType)在C:\ Builds \ RavenDB-Stable-3.5 \ Imports \ Newtonsoft.Json \ Src \ Newtonsoft.Json \ JsonSerializer.cs:949C:\ Builds \ RavenDB-Stable-3.5 \ Raven.Abstractions \ Json \ Linq \ RavenJToken.cs:91中的Raven.Json.Linq.RavenJToken.FromObjectInternal(Object o,JsonSerializer jsonSerializer)C:\ Builds \ RavenDB-Stable-3.5 \ Raven.Abstractions \ Json \ Linq \ RavenJObject.cs:174中的Raven.Json.Linq.RavenJObject.FromObject(Object o,JsonSerializer jsonSerializer)C:\ Builds \ RavenDB-Stable-3.5 \ Raven.Client.Lightweight \ Document \ EntityToJson.cs:72中的Raven.Client.Document.EntityToJson.GetObjectAsJson(对象实体)C:\ Builds \ RavenDB-Stable-3.5 \ Raven.Client.Lightweight \ Document \ EntityToJson.cs:44中的Raven.Client.Document.EntityToJson.ConvertEntityToJson(字符串键,对象实体,RavenJObject元数据)Raven.Client.Document.InMemoryDocumentSessionOperations.EntityChanged(对象实体,DocumentMetadata documentMetadata,IDictionary2 changes) in C:\Builds\RavenDB-Stable-3.5\Raven.Client.Lightweight\Document\InMemoryDocumentSessionOperations.cs:1218 Raven.Client.Document.InMemoryDocumentSessionOperations.<PrepareForEntitiesPuts>b__110_0(KeyValuePair2对)在C:\ Builds \ RavenDB-Stable-3.5 \ Raven.Client.Lightweight \ Document \ InMemoryDocumentSessionOperations.cs:1025System.Linq.Enumerable + WhereEnumerableIterator1.MoveNext():55 System.Linq.Buffer1..ctor(IEnumerable1 source):114 System.Linq.Enumerable.ToArray[TSource](IEnumerable1源):20

Raven.Client.Document.InMemoryDocumentSessionOperations.PrepareForEntitiesPuts(SaveChangesData结果)在C:\ Builds \ RavenDB-Stable-3.5 \ Raven.Client.Lightweight \ Document \ InMemoryDocumentSessionOperations.cs:1025C:\ Builds \ RavenDB-Stable-3.5 \ Raven.Client.Lightweight \ Document \ InMemoryDocumentSessionOperations.cs:986中的Raven.Client.Document.InMemoryDocumentSessionOperations.PrepareForSaveChanges()C:\ Builds \ RavenDB-Stable-3.5 \ Raven.Client.Lightweight \ Document \ Async \ AsyncDocumentSession.cs:928中的Raven.Client.Document.Async.AsyncDocumentSession + d__73.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw():12System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务:46

d:\ a \ 1 \ s \ Project \ Services \ ApplicationService_Helpers.cs:207中的[[ApplicantCenter.Services.ApplicationService + d__9.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw():12System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务:46

d中的ApplicantCenter.Controllers.ApplicationController + d__10.MoveNext():\ a \ 1 \ s \ Project \ Controllers \ ApplicationController.cs:117System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw():12System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务):46System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult)System.Web.Mvc.Async.AsyncControllerActionInvoker + <> c__DisplayClass8_0.b__1(IAsyncResult asyncResult)System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)System.Web.Mvc.Async.AsyncControllerActionInvoker + AsyncInvocationWithFilters.b__11_0():19System.Web.Mvc.Async.AsyncControllerActionInvoker + AsyncInvocationWithFilters + <> c__DisplayClass11_1.b__2():134System.Web.Mvc.Async.AsyncControllerActionInvoker + AsyncInvocationWithFilters + <> c__DisplayClass11_1.b__2():134System.Web.Mvc.Async.AsyncControllerActionInvoker + AsyncInvocationWithFilters + <> c__DisplayClass11_1.b__2():134System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)System.Web.Mvc.Async.AsyncControllerActionInvoker + <> c__DisplayClass3_6.b__3()System.Web.Mvc.Async.AsyncControllerActionInvoker + <> c__DisplayClass3_1.b__5(IAsyncResult asyncResult)

ravendb ravendb-http
1个回答
0
投票

这里的问题是您正在布置可能由其他人使用的会话。您将一个全局_session放在using块内,_session资源将在using块结束后被处置,并且使用同一全局_session的其他代码部分将变得无效。

© www.soinside.com 2019 - 2024. All rights reserved.