Проблема 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 по всей ферме.