Я получаю исключение, когда возвращается слишком много объектов:
Средство форматирования выдало исключение при попытке десериализации сообщения: Произошла ошибка при попытке десериализации параметра http://.../Contract:GetBlaBlaResult. Сообщение InnerException было «Максимальное количество элементов, которые могут быть сериализованы или десериализованы в графе объектов, равно« 65536 ». Измените граф объектов или увеличьте квоту MaxItemsInObjectGraph. '. Пожалуйста, смотрите InnerException для более подробной информации.
Я просмотрел его и добавил в разделе поведения на стороне сервера:
<behaviors>
<serviceBehaviors>
<behavior name="MyServiceBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483646"/>
...
И на стороне клиента:
<behaviors>
<endpointBehaviors>
<behavior name="maxItems">
<dataContractSerializer maxItemsInObjectGraph="2147483646" />
</behavior>
</endpointBehaviors>
</behaviors>
Но кажется, что это игнорируется, и исключение продолжает возникать.
Дело в том, что я использую XmlSerializer (для атрибутов в элементах):
[ServiceContract(Namespace = "http://BlaBla.com/webservices/BlaBlaService")]
[XmlSerializerFormat(SupportFaults = true)]
public interface IBlaBlaServices
{
[OperationContract]
BlaBlaResponse GetBlaBla(BlaBlaRequestMessage searchBlaBlaRequest);
}
и исключение, как видите, относится к dataContractSerializer (как и к конфигурации, которую я добавил выше).
Это XmlSerializer все испортил?
Может кто-нибудь посоветовать, пожалуйста?
Большое спасибо :)