Проблема MaxItemsInObjectGraph службы WCF SharePoint 2010

У меня возникли проблемы с пользовательской службой WCF, развернутой в SharePoint 2010. При попытке импортировать некоторые данные в клиент я получаю следующую ошибку:

'Maximum number of items that can be serialized or deserialized in an object graph is '65536'. Change the object graph or increase the MaxItemsInObjectGraph quota. '. 

Я попытался внести ряд изменений, используя механизм, описанный на http://shaunedonohue.blogspot.com/2011/03/reader-quotas-for-wcf-services-in_4706.html, но я все еще получаю эту ошибку - эти параметры квоты, кажется, не имеют отношения к параметру MaxItemsInObjectGraph. Изменение этого параметра в атрибуте ServiceBehaviour службы также не работает.

Кто-нибудь сталкивался с этой проблемой раньше?

1 ответ

Решение

Мне удалось решить эту проблему, выполнив действия, описанные в разделе Как исправить ошибку MaxItemsInObjectGraph? В дополнение к информации из блога Шона. То есть:

  • Атрибут WCF ServiceBehavior требует, чтобы MaxItemsInObjectGraph был установлен следующим образом:

    [ServiceBehavior(Namespace = "http://www.mydomain.net/MyApp/SharePoint", Name = "MySharePoint2010Service", MaxItemsInObjectGraph = 65536000)]
    
  • Перед созданием канала клиент должен был быть обновлен для изменения поведения сериализации, как описано в вышеприведенной проблеме.

Мне не удалось найти никого, кто сталкивался с этой проблемой в SharePoint 2010 раньше, но, надеюсь, это поможет кому-то в будущем. Динамическая конфигурация SharePoint не является достаточно всеобъемлющей, чтобы охватить все параметры WCF, но все же гораздо предпочтительнее вручную обновлять файлы web.config по всей ферме.

Другие вопросы по тегам