Otrzymuję następujący wyjątek podczas próby przekazania usługi DTO nad usługami WCF.Maksymalna głębokość odczytu głębokości odczytu WCF
System.Xml.XmlException: The maximum read depth (32) has been exceeded because XML data being read has more levels of nesting than is allowed by the quota. This quota may be increased by changing the MaxDepth property on the XmlDictionaryReaderQuotas object used when creating the XML reader. Line 1, position 5230.
at System.Xml.XmlExceptionHelper.ThrowXmlException
wiążące app.config wygląda zachowanie usług
<binding name="WSHttpBinding_IProjectWcfService" closeTimeout="00:10:00"
openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="10240000" messageEncoding="Text"
textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="200" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm="">
<extendedProtectionPolicy policyEnforcement="Never" />
</transport>
<message clientCredentialType="UserName" negotiateServiceCredential="true"
algorithmSuite="Default" establishSecurityContext="true" />
</security>
</binding>
Web.config:
A DTO wygląda następująco:
[Serializable]
[DataContract(IsReference=true)]
public class MyDto
{
Wszelkie pomoc byłaby doceniona jak ja Wyciągając z niego moje włosy.
Czy zmieniłeś konfigurację zarówno klienta, jak i serwera? Mam wrażenie, że musiałem wcześniej dopasować tę zmianę do obu. –
Całkiem nietypowe, że zagnieżdżanie jest tak głębokie. Możesz mieć odwołanie cykliczne. Myślę, że musimy zobaczyć więcej tego DTO; zmiana maksymalnego zagnieżdżenia może być jedynie rozwiązaniem wspomagającym zespół. – Aaronaught
Rozwiązałem mój problem, jak wyjaśniłem tutaj: http://stackoverflow.com/questions/5537794/error-while-deserializing-the-object-in-wcf – Adi