Я смотрел другие сообщения, но я не нашел решения для своей проблемы.Исключение: Максимальное количество элементов, которые могут быть сериализованы или десериализованы в графе объектов, составляет «65536»
Мой служебный файл конфигурации:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
</configSections>
<appSettings>
...
</appSettings>
<log4net>
...
</log4net>
<system.serviceModel>
<protocolMapping>
<add scheme="http" binding="wsDualHttpBinding"/>
</protocolMapping>
<services>
<service name="Service1" behaviorConfiguration="Service1Behavior">
<endpoint address="" binding="netTcpBinding" contract="IService1" bindingConfiguration="NetTcpBinding_IService1">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="/mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
</service>
<service name="Service2" behaviorConfiguration="Service2Behavior">
<endpoint address="" binding="wsHttpBinding" contract="IService2" bindingConfiguration="WSHttpBinding_IService2">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IService2" receiveTimeout="00:00:10"
sendTimeout="00:00:10" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
useDefaultWebProxy="false">
<reliableSession ordered="true" inactivityTimeout="00:00:11" />
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None" />
</binding>
</wsHttpBinding>
<netTcpBinding>
<binding name="NetTcpBinding_IService1" receiveTimeout="00:00:20"
sendTimeout="00:00:20" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:00:11" />
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="Service1Behavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
<serviceMetadata httpGetEnabled="False"/>
<serviceDebug includeExceptionDetailInFaults="True"/>
<serviceThrottling maxConcurrentCalls="100"
maxConcurrentInstances="100"
maxConcurrentSessions="100" />
</behavior>
<behavior name="Service2Behavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="True"/>
<serviceThrottling maxConcurrentCalls="100"
maxConcurrentInstances="100"
maxConcurrentSessions="100" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<connectionStrings>
...
</connectionStrings>
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Error,ActivityTracing"
propagateActivity="true">
<listeners>
...
</listeners>
</source>
</sources>
</system.diagnostics>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
Мой файл клиента конфигурации:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
...
</configSections>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NetTcpBinding_IService1" closeTimeout="00:00:15"
openTimeout="00:00:15" receiveTimeout="00:00:40" sendTimeout="00:00:40"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="10"
maxBufferPoolSize="2147483647" maxBufferSize="2147483647"
maxConnections="10" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="None">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
<wsHttpBinding>
<binding name="WSHttpBinding_IService2" closeTimeout="00:00:15"
openTimeout="00:00:15" receiveTimeout="00:00:25" sendTimeout="00:00:15"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="false">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:00:11" />
<security mode="None">
<transport realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<client>
<endpoint address="http://.../Design_Time_Addresses/Service2/"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IService2"
contract="Service2Reference.IService2"
name="WSHttpBinding_IService2" behaviorConfiguration="serviceBehaviorConfiguration">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="net.tcp://.../Design_Time_Addresses/Service1/"
binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IService1"
contract="Service1Reference.IService1" name="NetTcpBinding_IService1"
behaviorConfiguration="serviceBehaviorConfiguration">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
<behaviors>
<endpointBehaviors>
<behavior name="serviceBehaviorConfiguration">
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
<userSettings>
...
</userSettings>
</configuration>
Почему я все еще получаю исключение:
The formatter threw an exception while trying to deserialize the message:
There was an error while trying to deserialize parameter http://tempuri.org/:GetData.
The InnerException message was '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. '.
Is кажется игнорировать <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
в обоих App.config
файлах , Зачем?
@ Cybermaxs-Betclic Нет, это не дублирует. Я использую «Добавить ссылку на службу» в Visual Studio, поэтому мой конфигурационный файл правильный – Saint