Вопрос по web-services, c# – Изменение свойства MaxArrayLength для объекта XmlDictionaryReaderQuotas, используемого при создании средства чтения XML

3

Я получаю следующее исключение при отправке (или получении) байтового массива в службу C #.

<code>There was an error deserializing the object of type System.Byte[]. 
The maximum array length quota (16384) has been exceeded while reading XML data. 
This quota may be increased by changing the MaxArrayLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader. 
Line 6, position 34838.'.  
Please see InnerException for more details
</code>

Для того, что я могу понять, XmlDictionaryreader создается автоматически веб-службой.

Так как я могу изменить свойство "MaxArrayLength"?

Это код реализации:

<code>    public string addFile(string sharePointServer, string documentLibrary, 
                          byte[] content, string fileName) 
    {
        try
        {
            SPWeb spWeb = new SPSite(sharePointServer).OpenWeb();
            SPFolder spFolder = spWeb.GetFolder(documentLibrary);
            SPFileCollection spFileCollection = spFolder.Files;
            SPFile spFile = spFileCollection.Add(fileName, content, true);
            return spFile.TimeCreated.ToLongDateString() + "::" + spFile.Title;
        } 
            catch (Exception ex) 
        {
            throw ex;
        }
    }
</code>

Files <16kb загружены.

Files> 16 КБ нет.

Files> 10 Мб скачиваются без проблем.

Где настроено это свойство?

Ваш Ответ

1   ответ
7

вы можете изменить максимальную длину в привязке, как показано на этом посте SO:

посл

Приписка Зачем вам использовать пользовательский сервис, если есть сервисы OOTB Sharepoint, которые могут загружать файлы? то есть Lists.asmx, как в этой статье:

стать

Похожие вопросы