I looked at other posts, but I could not find a solution to my problem.
My service configuration file:
<?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>
My client configuration file:
<?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>
Why am I still getting the exception:
The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http:
It seems to ignore <dataContractSerializer maxItemsInObjectGraph="2147483647"/> in both App.config files. Why?
c # serialization visual-studio-2010 wcf datacontractserializer
Saint
source share