反序列化类型对象时出错...读取XML数据时已超出最大字符串内容长度配额(8192)

时间:2012-10-10 14:05:57

标签: c# wcf web-services

发布到WCF网络服务

时,我收到了一个错误的错误
The exception message is 'There was an error deserializing the object of type. The maximum   
string content length quota (8192) has been exceeded while reading XML data.

我尝试了各种不同的建议,但没有运气

任何人都可以看到我丢失或做错了什么吗?

感谢

客户端上的配置文件是

<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v4.0"    sku=".NETFramework,Version=v4.0"/></startup><system.serviceModel>
    <bindings>
        <wsHttpBinding>
            <binding name="WSHttpBinding_IAWSSESService" closeTimeout="00:01:00"
                openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                maxBufferPoolSize="5242880" maxReceivedMessageSize="655360"
                messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
                allowCookies="false">
                <readerQuotas maxDepth="320" maxStringContentLength="81920" maxArrayLength="163840"
                    maxBytesPerRead="40960" maxNameTableCharCount="163840" />
                <reliableSession ordered="true" inactivityTimeout="00:10:00"
                    enabled="false" />
                <security mode="None">
                    <transport clientCredentialType="Windows" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="Windows" negotiateServiceCredential="true" />
                </security>
            </binding>
        </wsHttpBinding>
    </bindings>
    <client>
        <endpoint address="http://localhost:20930/AWSSESService.svc"
            binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAWSSESService"
            contract="AwsWebService.IAWSSESService" name="WSHttpBinding_IAWSSESService" />
    </client>
</system.serviceModel>
</configuration>

Web服务的配置文件是

<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<pages controlRenderingCompatibilityVersion="4.0"/>
  </system.web>
  <system.serviceModel>
<services>
  <service name="CG.Core.EmailService.AWSSESService">
    <endpoint address="" behaviorConfiguration="" binding="wsHttpBinding" contract="CG.Core.EmailService.IAWSSESService" bindingConfiguration="wsHttpDefaultConfig"/>
  </service>
</services>
<bindings>
  <wsHttpBinding>
    <binding name="wsHttpDefaultConfig">
      <reliableSession ordered="true" inactivityTimeout="00:10:00" />
      <security mode="None"/>
    </binding>
  </wsHttpBinding>
</bindings>
<behaviors>
  <serviceBehaviors>
    <behavior>
      <serviceMetadata httpGetEnabled="true"/>
       <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false"     multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>
  <system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<!--
     -->
<directoryBrowse enabled="true"/>
  </system.webServer>
</configuration>

1 个答案:

答案 0 :(得分:1)

我设法通过从客户端复制wshttpbinding并将其粘贴到Web配置文件中来解决此问题