Проблема MaxItemsInObjectGraph службы WCF SharePoint 2010 - PullRequest
1 голос
/ 27 июля 2011

У меня возникли проблемы с пользовательской службой 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 Ответ

0 голосов
/ 28 июля 2011

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

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

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

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

...