Json XML错误:对于无符号字节,值太大或太小
我对此完全不了解,这让我发疯——它适用于某些数据集,但不适用于其他数据集 编辑:它看起来与记录的数量有关——不知何故,当记录的数量达到一定数量时——可能是250条左右——这就是它崩溃XML的时候。不知何故,自动递增的ID主键似乎涉及其中,因为我可以看到,当我添加3条记录时,当ID列进入400年代,但所有记录都被删除时,仍然会产生相同的错误,但当我将ID重置回零时,可以添加相同的3条记录,并在XML正文中正确格式化 映射类型:Int32->Byte System.Int32->System.Byte目标路径:FixtureDto.ExchangeType.ExchangeType.Id.Id源值:268 值对于无符号字节太大或太小 'ObjectContent'1'类型未能序列化内容类型'application/xml'的响应正文;字符集=utf-8'Json XML错误:对于无符号字节,值太大或太小,json,xml,asp.net-mvc,linq-to-xml,Json,Xml,Asp.net Mvc,Linq To Xml,我对此完全不了解,这让我发疯——它适用于某些数据集,但不适用于其他数据集 编辑:它看起来与记录的数量有关——不知何故,当记录的数量达到一定数量时——可能是250条左右——这就是它崩溃XML的时候。不知何故,自动递增的ID主键似乎涉及其中,因为我可以看到,当我添加3条记录时,当ID列进入400年代,但所有记录都被删除时,仍然会产生相同的错误,但当我将ID重置回零时,可以添加相同的3条记录,并在XML正文中正确格式化 映射类型:Int32->Byte System.Int32->System.Byt
发生了一个错误。
'ObjectContent'1'类型未能序列化内容类型'application/xml'的响应正文;字符集=utf-8'。
System.InvalidOperationException异常
发生了一个错误。
映射类型:Int32->Byte System.Int32->System.Byte目标路径:FixtureDto.ExchangeType.ExchangeType.Id.Id源值:268
AutoMapper.AutoMappingException
在System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDeligator xmlWriter,Object,XmlObjectSerializerWriteContext,CollectionDataContract)上的System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext(),在WriteArrayOfTextedToToXML(xmlWriter,Object,XmlObjectSerializerWriteContext,CollectionDataContract)System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract DataContract、XmlWriterDelegator xmlWriter、Object obj、RuntimeTypeHandle declaredTypeHandle)在System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializationAndVerifyType(DataContract DataContract、XmlWriterDelegator xmlWriter、对象obj、布尔verifyKnownType、RuntimeTypeHandle declaredTypeHandle、Type declaredType)位于System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithXsiTypeAtTopLevel在System.Runtime.Serialization.DataContractSerializer.InternalWriteObjectContent(XmlWriterDelegator-xmlWriter,对象obj,RuntimeTypeHandle-originalDeclaredTypeHandle,Type-graphType)中使用(DataContractSerializer.InternalWriteObjectContent(XmlWriterDelegator-writer-writer,对象图,DataContractResolver-DataContractResolver)在System.Runtime.Serialization.DataContractSerializer.InternalWriteObject(XmlWriterDelegator编写器、对象图、DataContractResolver DataContractResolver)在System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator编写器、对象图、DataContractResolver DataContractResolver)在System.Net.Http.Formatting.XmlMediaTypeFormatter.WriteToStream(类型、对象值、流writeStream、HttpContent内容)中的System.Runtime.Serialization.DataContractSerializer.WriteObject(XmlWriter-writer,对象图)在System.Net.Http.Formatting.XmlMediaTypeFormatter.WriteToStreamAsync中(类型类型、对象值、流writeStream、HttpContent内容、TransportContext TransportContext、CancellationToken CancellationToken)---从引发异常的上一个位置开始的堆栈结束跟踪---在System.Runtime.CompilerServices.TaskWaiter.ThrowForOnSuccess(任务任务)位于System.Web.Http.WebHost.HttpControllerHandler.d_u1b.MoveNext()的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务任务)
发生了一个错误。
值对于无符号字节太大或太小。
系统溢出异常
在System.Int32.System.IConvertible.ToByte(Int32值)在System.Int32.System.IConvertible.ToByte(IFormatProvider提供程序)在System.ComponentModel.BaseNumberConverter.ConvertTo(ITypeDescriptorContext上下文,CultureInfo区域性,对象值,类型destinationType)在AutoMapper.Mappers.TypeConverterMapper.c__显示AutoMapper.Mappers.TypeConverterMapper.Map(ResolutionContext,IMappingEngineRunner mapper)的AutoMapper.MappingEngine.AutoMapper.IMappingEngineRunner.Map(ResolutionContext上下文)的class1_0.b___0()
已解决
我已将数据库类定义中的数据类型从byte更改为int,但忽略了在等效数据传输映射对象中镜像相同的更改
一段时间以来,这一直是一个棘手的问题,也是第三次试图弄清问题的症结所在,前一次尝试也是如此
最后,通过艰苦的重复测试,我意识到这与向表中添加索引、坏数据或重新设置ID自动递增无关,而是由于数据传输映射错误,数据库中的记录数量在显示时受到限制,即字节定义的ID列限制了数量
我已将dto定义更改为int以匹配数据库,现在它可以很好地一次扩展到255条以上的记录,测试结果与实际相符。我想我已经解决了。ID字段是int,但在Dto映射字段中是byte。好的。希望你可以把它作为
答案或删除这篇文章。虽然我仍然希望这确实一次解决了这个问题-这是我第三次在一个gui中发布并提出这个问题的“解决方案”因此,如果我在匆忙总结成功之前花了一点时间,然后在一段令人满意的时间内对其进行适当测试,那么您会原谅我的。好的,慢慢来,希望您能把您的决心作为一个答案:)更新了答案Sampath-可能应该删除前两次试图弄清真相的尝试,其中一次没有得到答复,第二次产生了解决办法,但根本不是解决办法