ChangingtheMaxArrayLengthpropertyontheXmlDictionaryReaderQuotasobjectusedwhencreatinganXMLreaderWhensending(orreceived)bytearraystoaC#service,我得到以下异常。反序列化System.Byte[]类型的对象时出错。读取XML数据时已超出最大数组长度配额(16384)。可以通过更改在创建XML读取器时使用的XmlDictionaryReaderQuotas对象的MaxArrayLength属性来增加此配额。第6行,位置34838.'。有关更多详细信息,请参阅InnerException据我所知,XmlDictionaryreader是由webservice自动创建的。那么,如何更改“MaxArrayLength”属性呢?下面是实现代码:publicstringaddFile(stringsharePointServer,stringdocumentLibrary,byte[]content,stringfileName){SPFolderspFolder=spWeb.GetFolder(documentLibrary);SPFileCollectionspFileCollection=spFolder.Files;SPFilespFile=spFileCollection.Add(fileName,content,true);返回spFile.TimeCreated.ToLongDateString()+"::"+spFile.Title;}catch(Exceptionex){抛出ex;}}上传的文件<16kb。>16kb的文件不是。文件>10mb下载没有问题。这个属性在哪里配置?它是WCF服务吗?如果是这样,您可以更改绑定中的maxarraylength,如此SOpost所示:PostPS为什么在有可以上传文件的OOTBSharepoint服务时使用自定义服务?也就是这篇文章中的Lists.asmx:ArticleAddingelementstoelementsandaddingtheMaxArrayLengthattribute以上是C#学习教程:ChangetheMaxArrayLengthattributeontheXmlDictionaryReaderQuotasobjectusedwhencreatinganXMLreader所有内容分享,如果有用给大家和需要了解更多C#学习教程的,希望大家多多关注~本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
