我得到一個異常時,有太多的對象返回:WCF方法拋出的最大項目的對象圖中的例外是「65536」
格式化,而試圖反序列化消息引發了異常:有一個嘗試反序列化參數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弄亂了事情嗎?
有人可以提醒嗎?
感謝很多:)
http://stackoverflow.com/questions/7476853/wcf-error-maximum-number-of-items-that-can-be-serialized-or-deserialized-in-an – 2013-01-30 07:39:23