Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json XML错误:对于无符号字节,值太大或太小_Json_Xml_Asp.net Mvc_Linq To Xml - Fatal编程技术网

Json XML错误:对于无符号字节,值太大或太小

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

我对此完全不了解,这让我发疯——它适用于某些数据集,但不适用于其他数据集

编辑:它看起来与记录的数量有关——不知何故,当记录的数量达到一定数量时——可能是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'


发生了一个错误。
'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-可能应该删除前两次试图弄清真相的尝试,其中一次没有得到答复,第二次产生了解决办法,但根本不是解决办法