我目前正在使用openRasta构建Rest requests.Sometimes,我观察到发送Ajax Ajax Api.I请求成功时出现了奇怪的行为,有时会失败,并给出以下异常。
{Exception:
System.Runtime.Serialization.SerializationException: Expecting element 'root' from namespace ''.. Encountered 'None' with name '', namespace ''.
at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName)
at System.Runtime.Serialization.XmlObjectSerializer.InternalReadObject(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
at System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(XmlDictionaryReader reader)
at System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(Stream stream)
at OpenRasta.Codecs.JsonDataContractCodec.ReadFrom(IHttpEntity request, IType destinationType, String paramName)
at OpenRasta.OperationModel.Hydrators.RequestEntityReaderHydrator.TryReadPayloadAsObject(IHttpEntity requestEntity, IMediaTypeReader reader, IOperation operation)}我观察到的一件事是,当我让浏览器空闲一段时间,比如超过10分钟时,我可以看到firebug中的请求,但它在很长一段时间内显示为挂起状态,当它访问服务器时,它会给出高于exception.But的值,有时也可以正常工作。
有人能解释这个行为吗?如果需要,我可以提供一些与之相关的额外代码。
发布于 2012-02-14 19:23:30
延迟可能只是因为asp.net必须在您最终摆脱空闲时重新启动,这需要一段时间。
至于错误,似乎是json数据合约序列化程序无法解析请求。我建议检查几件事,如果失败,请在这里发布详细信息,以便我们可以进一步帮助您。
请提供您的映射、实体和OR日志的副本(您可以通过将调试器附加到服务器进程来获取),我们将尝试进一步帮助您。
https://stackoverflow.com/questions/9260498
复制相似问题